从这篇文章:https://hacks.mozilla.org/2015/08/es6-in-deep-modules/ https://hacks.mozilla.org/2015/08/es6-in-depth-modules/
文中写道
新标准旨在与现有的 CommonJS 和 AMD 模块进行互操作。
更准确地说
所有 CommonJS 和 AMD 模块都以默认导出的方式呈现给 ES6
如果确实如此,我们只需要一个 ES6 polyfill,而无需使用其他任何东西。
然而对于例如这个 ES6 Polyfill :https://github.com/ModuleLoader/es6-module-loader https://github.com/ModuleLoader/es6-module-loader似乎不允许从 ES6 加载 CommonJS/AMD 模块,但只有像 SystemJS 这样构建在其之上的解决方案才允许这样做。
所以问题是:官方 ES6 标准说应该支持 CommonJS/AMD(通过显示为默认导出)是真的吗?
如果是这样的话,您是否有关于 ESCMA 规范的参考资料?那么为什么它不是polyfill本身的一个特性,而是构建在它之上的解决方案呢?
到目前为止,这是我所理解的,但我可能是错的,所以欢迎确认/纠正。
模块加载器:不是 ES2015 的一部分。这在 ECMAScript 2015 规范中保留为实现定义。最终的标准将包含在 WHATWG 的加载器规范中,但目前这项工作正在进行中。
模块加载器规范将允许定义您自己的自定义模块加载器。因此,可以通过编写自己的加载器来导入 AMD、CommonJS 等,该加载器将描述如何加载此类模块。但它也将允许加载咖啡脚本或任何其他资源,只要我们的自定义模块加载器描述了如何解释该资源。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)