【发布时间】:2015-04-08 03:21:59
【问题描述】:
在 ES6 中,每个模块都定义在自己的文件中。
这是否意味着如果我们采用 es6 方式,我们将不得不为每个 javascript 模块进行多次网络调用?
有没有办法连接模块文件,本质上是为 es6 中的应用程序创建一个缩小的 javascript 文件?
我们可以将 es6 代码转译为 es5 并将其连接起来。
但是,如果不转译到 es5,是不是意味着使用模块,我们将无法将所有的 javascript 文件连接并缩小为一个?
【问题讨论】:
-
SystemJS 有一个构建工具,你也可以保持原样,依赖 HTTP/2 多路复用。
-
会
traceur --modules='register' --out compiled.js b.js c.js将单独的模块转编译成一个输出文件(参考github.com/google/traceur-compiler/wiki/Options-for-Compiling),然后浏览器可以使用系统API github.com/ModuleLoader/es6-module-loader/wiki/… 执行该文件 -
除了转编译为node.js模块,然后
Browserify转为浏览器可执行JS。 (让我自己放弃这种方法和使用 ES6 模块的问题一般是如何测试代码。但是现在有 mocha-traceur github.com/domenic/mocha-traceur,理论上 Webstorm 10 至少也有助于在 ES6 代码中设置断点。)