堆栈:Webpack 4.16.0,Node8,Vuejs2
在服务我的Vuejs应用程序时,我看到以下错误。
Error: Loading chunk 4 failed.
(missing: https://myapp.com/ui.chunk.bundle.js)
at HTMLScriptElement.s (demo:1)
此错误在各个版本中都是一致的,可以通过URL访问实际文件本身。
我正在使用通过import()
进行代码拆分,并且初始应用程序可以很好地加载,但是当另一个块加载时,流程将中断,它在ui.chunk.bundle.js
和vendors~ui.chunk.bundle.js
之间也可以变化。
为生产而构建时,会显示一个新错误,但似乎也与加载模块有关:
demo:1 TypeError: Cannot read property 'call' of undefined
at o (demo:1)
at Object.349 (ui.chunk.bundle.js:1)
at o (demo:1)
at o.t (demo:1)
我曾尝试升级webpack和babel,但由于之前运行得非常好,因此可能会陷入困境。
在本地计算机而非Google App Engine上运行应用程序时,一切似乎都很好。
应用程序的加载方式:
它是通过脚本标签加载到其他网站的,因此domainA.com
运行脚本标签,该脚本标签调用myapp.com/js
,流程开始,即应用程序基于某种逻辑加载各种块。
在myapp.com上访问由webpack生成的索引页面捆绑包时,一切都会正确加载。
请帮助!
答案 0 :(得分:1)
这可能是由于“webpack.config.js”,您可以尝试更新输出对象
module.exports = {
output: {
chunkFilename: '[id].chunk.[chunkhash].js',
}
};
希望它能够奏效!
答案 1 :(得分:0)
那是很深的东西,而且肯定不容易分两步来解决,最好是使用cli创建一个新项目,如果方便的话使用推荐的预设,并且如果它仍然存在,请检查已安装的npm软件包并确保它们都没有中断并且至少根据您的vue版本是最新的。
答案 2 :(得分:-1)
这可能是跨站点脚本问题。 确保myapp.com设置了正确的标题。
在myapp.com上,设置以下标头:
Access-Control-Allow-Origin: https://domainA.com
您还应确保您的脚本标签的异步设置为false:
<script async="false" …