0

私は、webpack を使用するプロジェクトを v4 から v5 にアップグレードする過程にあり、現在はすべてエラーなしでコンパイルされていますが (最小限の微調整の後)、出力形式がまったく異なることに気付きました。v4 では、次のような外部構造がありました。

(function(modules) {
...
});

現在 v5 では、次のような構造になっています。

(() => {
...
})();

プロジェクトで出力が使用されている特定の方法で問題が発生していると思います(具体的には、後者は呼び出されているようですが、前者は呼び出されていないようです)。

v5 でデフォルトの出力を変更した設定はありますか?

ドキュメントでoutput.iife(効果なし) などを見てみましたが、自分にぴったりのものが見つかりませんでした。明らかな何かが欠けていると確信しています。

アップデート:

@felixmoshの答えで、私はそこにたどり着きました。ラムダ構文の代わりに関数構文を使用することは現在一貫していますが、v5 バリアントは自己実行し、v4 はそうではなかったように見えるという問題がまだあります。

Webpack の開始サンプルに基づいて、GitHub に再現を追加しました: https://github.com/tlmii/webpack-v4-to-v5-example

4

1 に答える 1

1

webpack のターゲットを に指定できますes

module.exports = {
  // ...
  target: ['web', 'es5']
};
于 2020-12-31T20:37:47.070 に答える