PaR*_*Nos 12 commonjs browserify ruby-on-rails-4 ecmascript-6
我正在尝试使用rails资产管道实现一些事情,这比我希望的更难.
为了干净地构建应用程序,我计划为javascript使用模块系统.为此,我想使用CommonJS模块,但我想使用新的ES6语法编写它们以便将来兼容.
我找到了资产管道的ES6模块转换器扩展,它运行良好,但这只能将其转换为CommonJS格式.我仍然需要将此解析为浏览器所理解的JS.为此,我正在寻找使用Browserify但我的问题在于结合这两个.
模块转换器基于每个文件工作,但browserify通过检查所需的所有文件来工作.问题是browserify不能使用原始文件,因为它们不是CommonJS格式,它们在ES6中,所以它需要转换后的版本,但是因为这发生在管道中,我不能指向浏览器化文件.
这有什么办法吗?
我的建议是使用browserify-rails gem.对于ES6,你可以使用transform这样的:https://github.com/thlorenz/es6ify
几个月后更新:我仍然建议使用相同的路径,但如果您可以从资产管道中获取,我强烈建议您直接访问webpack或浏览器.资产管道有一些好处,但根据我的经验,尝试使JavaScript成为一流的公民是痛苦的,它的好处大于缺点(对我来说).