【问题标题】:ES6 module loader with 'support for progressbar'带有“支持进度条”的 ES6 模块加载器
【发布时间】:2016-06-07 04:38:16
【问题描述】:

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

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

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

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

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

【问题讨论】:

  • 不是所有浏览器都默认在地址栏显示加载资源的进度吗?
  • 我会说只有一些浏览器显示资源进度条(我记得 Opera 有它,最后一次使用它是 2-3 年前),我在项目要求中没有一个有它 - Chrome (最新)、火狐(最新)、IE11

标签: ecmascript-6 es6-module-loader


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-04
    • 1970-01-01
    • 1970-01-01
    • 2020-03-21
    • 2019-05-19
    • 2016-02-28
    • 1970-01-01
    相关资源
    最近更新 更多