尽管 ES6 规范是在 2015 年发布的,但即使在 2019 年 NodeJS 仍然没有实现这个标准。该支持仍处于试验阶段,从描述来看,仅适用于 V8 级别:由节点开发人员自己编写的模块系统似乎生活在另一个世界。
结合使用 CommonJS 模块的大量预制例程,问题出现了:究竟是什么促使Ecma International采用了一个与将 JS 库发布为 NPM 包、NodeJS 模块的运动背道而驰的标准?
尽管 ES6 规范是在 2015 年发布的,但即使在 2019 年 NodeJS 仍然没有实现这个标准。该支持仍处于试验阶段,从描述来看,仅适用于 V8 级别:由节点开发人员自己编写的模块系统似乎生活在另一个世界。
结合使用 CommonJS 模块的大量预制例程,问题出现了:究竟是什么促使Ecma International采用了一个与将 JS 库发布为 NPM 包、NodeJS 模块的运动背道而驰的标准?
事实上,ES6 模块的规范与 CommonJS 根本不一致:ES6 模块与 CommonJS 不同,它是异步加载的。你可以在这个演示文稿中看到更多关于 ES6 模块的特性
此外,该标准也没有描述模块的标准位置,从而产生了“路径地狱”。Typescript 开发人员正在积极解决这个问题,这里详细描述了情况
奇怪的是,该规范完全忽略了 NodeJS 开发者的利益,因为HTTP/2 Server Push允许您将必要的脚本传输到客户端,而无需等待请求,并且不会延迟执行。
这样做可能是为了避免不必要的转译以及在浏览器中越来越多地使用从第三方CDN加载代码。唯一令人不快的是,实施 CDN 服务的最大公司通过定向广告(监视用户)赚钱。
PS 后来我注意到是谷歌支付宴会费用。