🦏 【Node】v15.0.0未満だとreplaceAllが動作しない
作成日: 2021/04/07
1

背景

SSR側でreplaceAllが動作しなく、CSRでは動作している事象が発生していた。

原因

Node.jsでは、String.prototype.replaceAll()は v15.0.0から導入されているため、v15未満だと実行することができない。

// node v15未満だと以下は 「replaceAll is not a function」 のエラーが吐かれる
const text = parseText.replaceAll(
        'testA',
        'testB'
      );

対応方法

  • replaceと正規表現を併用すれば、replaceAllと同じことができる
const text = parseText.replace(
        '/testA/g',
        'testB'
      );

参考記事:https://yongjinkim.com/nodejstypeerror-string-replaceall-is-not-a-function-の解決方法/

engineer/JavaScript/TypeScript/Vue/Nuxt🦒