【发布时间】:2018-12-20 06:16:19
【问题描述】:
堆栈: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 生成的索引页面包时,一切都正确加载。
请帮忙!
【问题讨论】:
-
您能找到一些有用的东西来解决这个错误吗?
-
升级 webpack 解决了这个问题。
-
您是否禁用了文件名哈希?然后浏览器可能会加载旧(缓存)版本的 JS 文件。前段时间遇到了同样的问题..
-
我认为 Webpack 4 使不存在的导入成为警告而不是错误,stackoverflow.com/questions/40071942/…
标签: javascript webpack vue.js babeljs