我有以下项目结构:
|-mainFile.js
|-scripts -
|-Library1.js
|-Library2.js
库文件使用requirejs define([],function(){})语法.
因此我把它放到webpack.config.js中:
module.exports = {
resolve: {
modules: [
path.resolve(__dirname,'scripts'),// The normal path
"node_modules"
]
},/** ... **/
}
然后我在mainFile.js中执行此操作,这是webpack的入口点:
require(["Library1","Library2"],function(Library1,Library2) { ... });
我收到这个错误:
GET http://localhost:3000/0.js [HTTP/1.1 404 Not Found 3ms]
Error: Loading chunk 0 Failed.
Stack trace:
onScriptComplete@http://localhost:3000/player/webpack_build.js:100:24
webpack_build.js:146:52
The resource from “http://localhost:3000/0.js” was blocked due to MIME type mismatch (X-Content-Type-Options: nosniff).[Learn More]
test_file.html Error: Loading chunk 0 Failed.
所以webpack尝试加载一些0.js文件.应该是什么?
最佳答案
我想出了一个修复,我希望它有所帮助.
对于我的React Routes,我使用带有import语句的动态加载,没有CommonChunks插件.
我得到了相同的错误(或“块1”,“块2”等),具体取决于我加载的路线.我终于意识到我的资产包实际上被输出到我的html所在的当前目录中,即使我的output.path指向assets文件夹.
要解决这个问题,我只需将output.chunkFilename设置为’../../../assets/js/com/[name].bundle.js’,然后将其输出到正确的文件夹.
从那时起,我的应用程序能够找到我的捆绑,它工作得很好!
希望能帮助到你,
迈克尔