ES6模块连接

JavaScript ES6中开发一个Web项目,我目前使用Traceur将我的模块从ES6编译成ES5,认为将来当浏览器支持ES6时,我可以跳过这个转换步骤。

最后,因为我不想在启动时下载几个js文件,所以我有一个单独的文件,包含所有转换成ES5的模块,这要感谢Traceur。

但是为了validation这个select,我想知道在ES6中保留源代码的时候是否还有可能。 如果我简单地连接它们,将会有无效的导入和名称冲突。

它看起来并不是为它devise的,它需要一个额外的处理步骤来正确地合并它们。

我们如何设想处理由多个模块定义的ES6单文件项目?

这将通过捆绑解决,如下所述: http : //www.2ality.com/2013/11/es6-modules-browsers.html在第3章。所以这是可能的,并validation你的方法,虽然我不能在networking上find相应的编译步骤的实现,但是当人们开始使用ES6模块时就会出现这个问题。

在不久的将来,由于HTTP/2将不再需要构build单个文件项目。

请参阅: 为什么捆绑包优化不再是HTTP / 2中的一个问题

最好的解决scheme可能是使用browserify将你的编译代码捆绑到一个文件中。 然后,我会使用uglify或Google的Closure编译器来缩小文件,因为考虑到所有必须处理的导入/导出,有一个小的开销。

另外,如果你愿意使用Babel而不是Traceur,那么就有一个用于浏览的Babel插件,使事情变得非常简单。