我有一个4.2 rails应用程序,正在考虑慢慢将JS转换为ES6。现在我正在使用资产管道中的标准rails清单文件来预处理我的js。
我不知道如何在我的rails应用程序中开始使用ES6(添加一个简单的步骤)。
是否有内置方法,推荐工具或工作流程?
答案 0 :(得分:17)
目前遗憾的是,并没有真正符合标准的'这样做的方式 - 很多都取决于你的应用程序的要求,以及你是否能够升级链轮和/或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-sprockets或https://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
答案 1 :(得分:3)
3年后为自己解答...
Rails> 5.1拥有webpacker
以及对webpack构建和各种前端框架(如果需要)(响应,vue等)的本机支持
答案 2 :(得分:2)
将其替换为production.rb文件
config.assets.js_compressor = :uglifier
与此
config.assets.js_compressor = Uglifier.new(harmony: true)
对于开发者,Chrome会编译es6。