webpack を使って babel-loader で ES5 に変換するとき、 loader のオプションはどう指定するのが良いのでしょうか?
例を探すと、 exclude に /node_modules/
を指定している例をよく見ますが、これでは依存モジュールは babel-loader を通さないことになるので ES5 に変換されません
npm でモジュール公開時に ES5 に変換済みのモジュールもありますが、私が使おうとしてるものでは ES5 に変換されてないものも多いです
exclude を /node_modules/(?!(YOUR_MODULE)/).*/
のようにして ES5 になっていないモジュールのみ除外して(変換対象に含めて)ビルドするという方法も見かけましたが、全モジュールをチェックするのは無理があるように思います
自分が使うために yarn add
したモジュールはひとつでも、そのモジュールがたくさんのモジュールをインポートしています
自分がインストールしたモジュール名のみを exclude に含めないように設定しても、そのモジュールの依存モジュールのどれかが ES5 になっていないと、 ES2015+ のコードがビルド結果に含まれてしまいます
実際には自分が 10 近くのモジュールを入れて、 node_modules 以下には数百のモジュールがインストールされているので、手作業で確認して exclude に入れるかの判断は無理があるように思います
いっそのこと exclude は何も指定せず全体を babel-loader に通せば良い気もするのですが、それではとても遅いという情報もあり、どうするか悩んでます
ビルダーによってはモジュールも含めてバンドル後に一括で babel 通すものもありますし、全部変換するのがベストなのでしょうか?
あなたの回答
tips
プレビュー