【发布时间】:2016-12-15 22:07:13
【问题描述】:
我们在生产中看到了一些在开发中似乎没有看到的奇怪东西。
我们有几个模块是 webpack 的“外部”,
- 我们的语言环境翻译字符串(根据所选语言环境单独加载)
- React 自身(从 cdnjs 加载)
- 另外几个外部(从 cdnjs 加载)
我们(通过 Sentry)看到的错误是找不到 resourceBundle,或者找不到 React。
我想知道这是否可能是由于在我们启动入口点文件中的代码之前没有等待 onLoad 事件造成的。我一直假设 webpack 正在处理 onLoad,但看起来(通过文件 webpack 输出搜索后)事实并非如此。在这种情况下,我需要将我的代码包装在 iffe 中,以便它等待所有外部对象都存在。
然后是 es6 和 import 语句,我想知道如何将代码包装在 iffe 中,因为导入必须在顶层.....
我知道浏览器没有改变,onLoad 仍然很重要,但是 webpack 是否以我刚刚忽略的一些微妙的方式处理这个问题,或者我需要进入并将它添加到我的代码中。而如果需要添加的话,这种情况下怎么处理es6导入呢?
【问题讨论】:
-
我会说是的。比仅仅猜测每个模块的加载时间要安全得多。
-
如果脚本标签有序,则无需等待
load或DOMContentLoaded。您确定不是您的某些用户的互联网连接不好,所以加载早期的脚本只是偶尔会失败吗? -
在一种情况下,我可以看到他们确实加载(使用 200)包含报告丢失的全局的文件。
标签: javascript webpack ecmascript-6 es6-modules