我們動態加載文件,即我們不知道哪些文件將在運行時加載。同樣,爲了加載速度更快,我們希望將相關文件放在同一個塊中。動態加載webpack中的塊?
我該怎麼用webpack做這件事?
這是我們所擁有的,它與一個404錯誤而失敗(未找到1.1.bundle.js)
這是webpack.config樣子:
entry: {
main: //...,
related_files: [ //should create chunk for file1 and file2?
'./file1.js',
'./file2.js'
]
},
這是個什麼碼動態載入的文件看起來像:
var dynamicFileName = //...
require.ensure([], function (require) {
//should dynamically load the chunk containing dynamicFileName?
//fails with 'file1.js' or 'file2.js'
var modImpl = require(dynamicFileName);
//...
});
更新1:錯誤消息是由不配置output.publicPath
造成的。但是,我從來沒有創建1.1.bundle.js
。它似乎忽略了切入點。
更新2:即使在修復output.publicPath
後,也無法加載動態生成的文件名。所以看起來webpack無法處理這個問題。
要求(「related_files」)正是我不想做的事。有沒有辦法讓require('file1')動態工作? –
在這種情況下,您需要刪除第二個入口點,並需要代碼中需要的模塊,如require('./ file1.js')'。 – arturkin
如果我刪除了入口點,那麼要麼所有東西都放在一個包中,要麼我失去了對相關文件包的控制(這些需要放在同一個包中) –