問題タブ [webpack-4]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
webpack-4 - React+Typescript+Webpack4: モジュール '***.json' が見つかりません
以下を使用して、.json ファイルから .tsx にデータをインポートしようとしています。
しかし、私はエラーが発生しました
モジュール「data/mockup.json」が見つかりません
私のwebpack設定は次のようになります:
.json はデフォルトで webpack4 に組み込まれていると思うので、webpack の設定に何か問題があるのでしょうか?
使用したバージョン: webpack: v4.4.1 typescript: 2.7.2
javascript - 共有バンドルでの Webpack 4 クロージャの問題
Webpack 3 から 4 にアップグレードしようとしていますが、共有バンドルの閉鎖に問題があります。
私の webpack は、 と の間でshared.js
コードを共有するファイルを作成するように設定されています。特に、バンドルには、変数を含むインデックス ファイルがあります。を返すという関数だけをエクスポートします。この呼び出しは、ファイル内のさまざまな場所で発生します。a.js
b.js
shared.js
store
getStore()
store
getStore
a.js
b.js
私たちのページのスクリプトのラインナップは次のようになります。
Webpack 3 では、(呼び出し元の)getStore()
コードを初めて呼び出すと、そのインスタンスが作成され、その呼び出しから呼び出しが返されます。以降のfromの呼び出しでは、 のインスタンスを作成するのではなく、 から同じ値を返します。次に、が完了して実行された後、 を呼び出すと、インスタンス化されず、使用したのと同じインスタンスが使用されます。この場合、 は同じインスタンスで、 と.shared.js
a.js
store
store
getStore()
getStore()
a.js
store
getStore()
a.js
b.js
b.js
getStore()
store
a.js
store
a.js
b.js
ただし、Webpack 4 では動作が異なります。a.js
のコードを呼び出すとshared.js
、コードが最初に を参照するときに、以前getStore()
と同様に、 の新しいインスタンスが作成され、実行中および呼び出しstore
中に同じインスタンスが返されます。ただし、がコードを最初に参照するとき、使用したのと同じインスタンスを使用するのではなく、 の新しいインスタンスを作成し、のスクリプト実行全体を通じて、を呼び出すときにその秒を参照します。この場合、 の 2 つのインスタンスがあり、それぞれがとに固有です。a.js
getStore()
b.js
shared.js
a.js
store
b.js
store
getStore()
store
a.js
b.js
この問題の原因となっている Webpack 4 の違いはわかりません。CommonChunksPlugin
Webpack 3の の使用から切り替え、組み込みの最適化設定を使用するようになりました。以下は、両方の構成方法です。
ウェブパック 3:
ウェブパック 4:
どちらの Webpack 構成もほぼ同じサイズのファイルを吐き出し、デバッグしてコール スタックを確認するとgetStore()
、それぞれの a/b.js ファイルからの呼び出しが発生します。
Webpack 4 でオブジェクトの個別のインスタンスを取得する理由a.js
と、Webpack 3 と同じインスタンスを取得する理由についての説明はありますか? スクリプトが相互に依存している場合、それらのクロージャー/スコープは共有コードをどのように処理することになっていますか?b.js
shared.js
store