2017-02-25 14 views
14

我有一个4.2 rails应用程序,并且正在考虑将JS慢慢转换为ES6。现在我使用资产管道中的标准rails清单文件来预处理我的js。如何在Rails应用程序中使用ES6(ES2015)?

我不知道如何去开始在我的Rails应用程序中使用ES6(添加一个transpile步骤)。

是否有内置方法或建议的工具或工作流程?

+1

快速谷歌搜索显示[本文](http://nandovieira.com/using-es2015-with-asset-pipeline-on-ruby-on-rails)可能对你有用。 –

+0

你想使用巴贝尔。这宝石可能会为你做。 https://github.com/babel/ruby-babel-transpiler –

回答

12

目前不幸的是,这样做并没有真正的“标准”方式 - 很大程度上取决于您的应用程序的要求,以及是否能够升级Sprockets和/或Rails。

选项1: 保持on Rails的4.2和链轮3,然后使用此宝石添加ES6支撑并逐渐迁移到ES6模块:https://github.com/rmacklin/sprockets-bumble_d

选项2: 升级到链轮4(静止在测试版中),然后使用https://github.com/fnando/babel-schmooze-sprocketshttps://github.com/babel/ruby-babel-transpiler为ES6支持添加babel。两者都有非常可靠的文档。

选项3: 使用webpack代替或沿着链轮。谷歌搜索将揭示一些方法。 Rails 5.1(仍在测试版)将通过webpacker gem引入本地webpack(以及babel)支持。无可否认,对于现有的应用来说,这可能是更困难的选择。这里有一篇很好的文章:https://medium.com/statuscode/introducing-webpacker-7136d66cddfb#.cb4sixyah

相关问题