BabelでJavaScriptをコンパイルするとデフォルトで"use strict";
が付きます。
ソース・コードがstrictに書かれたものなら良いのですが、いろいろ事情があってstrictではない場合もあり、"use strict";
を付けたくないこともあります。
以下の方法で"use strict";
なしの出力ができました(Babel 7.5で確認)。
##sourceType
オプションを使う
sourceType
オプションに"script"
を指定すると"use strict";
が出力されなくなります。このオプションのデフォルトは"module"
なので、デフォルトのままだと出力は自動的にstrict
モードになります。
{
"sourceType": "script"
}
詳細は以下の公式ドキュメントを参照してください。
公式ドキュメント:Babel>Docs>Usgage>Options#misc-options
##CommonJSに変換する場合はstrictMode
オプションでも可
トランスフォーム・プラグイン(@babel/plugin-transform-modules-commonjs
)を使ってCommonJSに変換する場合は、"strictMode": false
を指定して出力を抑止することもできます。
{
"plugins": [
["@babel/plugin-transform-modules-commonjs", {"strictMode": false}]
]
}
詳細は以下の公式ドキュメントを参照してください。
公式ドキュメント:Babel>Docs>General>Plugins#other ・strict-mode
以上です。