如何在rails应用程序的ruby中使用ES6(ES2015)?

pix*_*rth 20 ruby-on-rails transpiler ecmascript-6

我有一个4.2 rails应用程序,我正在考虑慢慢将JS转换为ES6.现在我正在使用资产管道中的标准rails清单文件来预处理我的js.

我不知道如何在我的rails应用程序中开始使用ES6(添加一个简单的步骤).

是否有内置方法,或推荐的工具或工作流程?

Mik*_*ike 18

目前很遗憾没有真正的"标准"方法 - 很多方法取决于您的应用程序的要求以及您是否能够升级链轮和/或Rails.

选项1: 继续使用Rails 4.2和Sprockets 3,然后使用此gem添加ES6支持并逐步迁移到ES6模块:https://github.com/rmacklin/sprockets-bumble_d

选项2: 升级到Sprockets 4(仍处于测试阶段),然后使用https://github.com/fnando/babel-schmooze-sprocketshttps://github.com/babel/ruby-babel-transpiler添加babel支持ES6.两者都有非常可靠的文档.

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

  • 我不会说某个东西的整个文档页面都可以放入StackOverflow注释中,而有些东西具有“可靠的文档”,并且还有600个字符的限制。 (2认同)

pix*_*rth 5

3年后为自己回答......

webpacker如果需要,Rails > 5.1 具有对 webpack 构建和各种前端框架的原生支持(react、vue 等)