从这篇文章:
https://hacks.mozilla.org/2015/08/es6-in-depth-modules/
据记载
The new standard is designed to interoperate with existing CommonJS and AMD modules.
更准确地说
All CommonJS and AMD modules are presented to ES6 as having a default export
如果确实如此,我们只需要一个ES6 polyfill,而不必使用其他任何东西.
然而,例如对于此ES6 Polyfill:https://github.com/ModuleLoader/es6-module-loader似乎不允许从ES6加载CommonJS / AMD模块,但是只有基于它的构建解决方案(如SystemJS)才允许这样做.
所以问题是:官方的ES6标准是否说应该支持CommonJS / AMD(通过显示为具有默认导出功能)是否正确?
如果是这样,您是否对ESCMA规范有这样的引用?那么为什么它不是polyfill本身的功能,而不是基于它的解决方案呢?
解决方法:
到目前为止,这是我所了解的,但是我可能错了,因此欢迎您进行确认/纠正.
> ECMAScript 6没有指定与AMD,CommonJS或任何其他模块格式的任何兼容性.它仅允许使用规范中定义的ECMAScript 6模块.
>但是从this source开始:
Module Loaders : Not part of ES2015. This is left as implementation-defined within the ECMAScript 2015 specification. The eventual standard will be in WHATWG’s Loader specification, but that is currently a work in progress.
模块加载程序规范将允许定义您自己的自定义模块加载程序.因此,可以编写自己的加载器来描述如何加载这样的模块,从而导入AMD,CommonJS等.但是,只要我们的自定义模块加载程序描述了如何解释此资源,它也将允许加载例如咖啡脚本或任何其他资源.