仅在FF上,我在生产环境中的webpack中收到一个奇怪的错误。我已经尝试过Chrome,Safari,没有任何问题。
function __webpack_require__(moduleId) {
...
// Execute the module function
modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
}
如果我在该行中断并重新加载页面,则不会发生问题,这导致我认为这是加载的文件上的某种竞争条件。
我有 4 个按以下顺序排列的 webpack 输出文件。
<script type="text/javascript" src="/manifest-4.e05278c43f895122ca44.js" async=""></script>
<script type="text/javascript" src="/vendor-2.e05278c43f895122ca44.js" async=""></script>
<script type="text/javascript" src="/main-0.e05278c43f895122ca44.js" async=""></script>
<script type="text/javascript" src="/bootstrap-3.e05278c43f895122ca44.js" async=""></script>
我已经在Github和SO上查看了类似的问题,但我认为它们与我的问题没有直接关系。
[更新]
已将确切moduleId
调试为 49。对于第 49 个模块,主捆绑包文件的内容为空,这意味着它必须位于供应商捆绑包中。怀疑主捆绑包和供应商捆绑包的加载速度可能会导致一些问题。
自己想出了答案。
怀疑这是因为供应商捆绑包在主捆绑包之后加载。尽管供应商捆绑包是在主要之前指定的,但有几个原因导致这种情况。
-
async
属性可能会导致获取捆绑包时出现争用条件 - 除了
async
我们还预装了主捆绑包
我们删除了它们,因为我们对它们没有任何用处。