Firefox Quatum 58.0b16

时间:2018-01-16 08:23:05

标签: javascript firefox webpack firefox-quantum

我在我的prod环境中的webpack中遇到一个奇怪的错误,仅在FF上的以下行中。我尝试过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&amp;对于类似的问题,但不认为它们与我的问题直接相关。

[UPDATE]

将准确的moduleId调试为49.第49个模块的主捆绑文件的内容为空,这意味着它必须在供应商捆绑中。怀疑主要和供应商捆绑的加载速度可能会导致一些问题。

1 个答案:

答案 0 :(得分:1)

自己想出答案。

怀疑这是因为主捆绑后的供应商捆绑加载。即使在main之前指定了vendor bundle,也有几个原因造成这种情况。

  1. async属性在获取包时可能会导致竞争条件
  2. 除了异步,我们也是preloading主要包
  3. 我们删除了两个,因为我们对它们没有任何用处。