[英]Multiple independent webpack bundles: chunks load not working correctly
我有一個由兩個獨立項目組成的環境,可以描述如下:
IDE 和應用程序都必須在 3rd 方 JavaScript 環境中使用。 它會在需要時調用window.initIDE
和window.initApp
。 沒有顯式依賴,因為如果另一個缺失,IDE 和 App 仍然必須工作,所以頁面中包含的 JS 是這樣的:
<script src=".../app.js" />
<script src=".../ide.js" />
這種環境正常工作了很長時間。 IDE 基於react-boilerplate,因此它從一開始就使用了塊和代碼拆分。
最近我們使用react-loadable在 App 中添加了 JS 塊。
當頁面上只使用其中一個時,IDE 和 App 都按預期工作,但如果我們同時激活 App 和 IDE,則不會加載塊:使用的最后一個庫是不會加載塊的庫,而第一個則工作正如預期的那樣。
檢查瀏覽器的網絡選項卡,我們根本看不到加載第二個稱為 lib 的塊的活動。
顯然我們得到了錯誤:IDE 和 App 的回溯是相似的:
Uncaught (in promise) TypeError: Cannot read property 'call' of undefined
at __webpack_require__
檢查__webpack_require__
:
modules[moduleId].call(module.exports, module, module.exports, hotCreateRequire(moduleId));
雖然modules
是所有可用modules
的數組,但沒有modules[moduleId]
因為moduleId
指的是無效索引(可能是因為它尚未加載......但為什么呢?)
我一直認為 webpack 內部實現並沒有在包構建之外全局公開,但不知何故這似乎並不正確。
一個捆綁如何干擾另一個? 為什么塊沒有加載? 有關如何解決此問題的任何建議?
您應該為每個包配置output.jsonpFunction屬性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.