带有'支持进度条'的ES6模块加载器

时间:2016-02-24 18:09:44

标签: ecmascript-6 es6-module-loader

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

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

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

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

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

1 个答案:

答案 0 :(得分:0)

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

或者,无论使用何种模块加载器,您都可以使用resource timing API跟踪模块资源的加载。它似乎没有触发事件,但你应该可以轮询它。