LoginSignup
8
5

More than 3 years have passed since last update.

Babelの出力から"use strict"を除去したい

Posted at

BabelでJavaScriptをコンパイルするとデフォルトで"use strict";が付きます。
ソース・コードがstrictに書かれたものなら良いのですが、いろいろ事情があってstrictではない場合もあり、"use strict";を付けたくないこともあります。

以下の方法で"use strict";なしの出力ができました(Babel 7.5で確認)。

sourceTypeオプションを使う

sourceTypeオプションに"script"を指定すると"use strict";が出力されなくなります。このオプションのデフォルトは"module"なので、デフォルトのままだと出力は自動的にstrictモードになります。

.babelrc
{
  "sourceType": "script"
}

詳細は以下の公式ドキュメントを参照してください。
公式ドキュメント:Babel>Docs>Usgage>Options#misc-options

CommonJSに変換する場合はstrictModeオプションでも可

トランスフォーム・プラグイン(@babel/plugin-transform-modules-commonjs)を使ってCommonJSに変換する場合は、"strictMode": falseを指定して出力を抑止することもできます。

.babelrc
{
  "plugins": [
    ["@babel/plugin-transform-modules-commonjs", {"strictMode": false}]
  ]
}

詳細は以下の公式ドキュメントを参照してください。
公式ドキュメント:Babel>Docs>General>Plugins#other ・strict-mode

以上です。

8
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
5