0

我有自己的内部 WEB 应用程序模块系统 - 主要概念是应用程序是动态的,即可以在运行时添加/删除模块。由于这个原因,我不能使用捆绑,并且单独加载单独的模块。请求一个模块可能会导致加载 100 个其他模块作为依赖项 - 当前使用自己的加载器的实现会异步执行此操作并呈现漂亮的进度条,以便连接速度较慢的用户知道他们需要等待多长时间。

目前,我正在评估为模块切换到 ES6 语法以及切换到 github 上现有的一些 ES6 兼容模块加载器的替代方案。

所以问题是 -是否有与 ES6 兼容的模块加载器,其 API 提供如下事件

  • 我开始加载资源
  • 我已经加载了 N of M 个资源
  • 我已经加载了所有请求的资源

这必须至少在以下浏览器中运行:Chrome(最新)、Firefox(最新)、IE11。

4

1 回答 1

0

我建议将 ES6 模块转换为 AMD,并使用支持所需功能的 AMD 模块加载器。例如,Dojo 实现似乎有跟踪事件

或者,无论使用什么模块加载器,您都可以使用资源计时 API跟踪模块资源的加载。它似乎不会触发事件,但您应该能够对其进行轮询。

于 2016-02-25T06:44:46.043 回答