【问题标题】:Babel-Transpiler with Ruby on Rails: Getting Started [closed]使用 Ruby on Rails 的 Babel-Transpiler:入门 [关闭]
【发布时间】:2017-05-23 17:29:57
【问题描述】:

我是 Rails 新手,但熟悉 JavaScript 和 ES6。我已经在我的 React-Rails gem 中进行了 ES6 转译,因此我可以在 React 中正常编写,但任何其他 js 文件我都仅限于 ES5。

我必须制作一个配置文件来告诉它开始处理所有 js 文件,但我不知道如何做到这一点。

任何帮助,从对正在发生的事情的更高层次的解释到更一步一步的方法,将不胜感激。

谢谢!

【问题讨论】:

    标签: javascript ruby-on-rails ruby rubygems babeljs


    【解决方案1】:

    Rails 使用称为asset pipeline 的功能来编译、连接和转换资源。资产通常是样式表、JavaScript 文件和媒体文件(主要是图像)。资产管道可以根据文件类型执行不同的操作,即文件名的文件扩展名。

    React-Rails gem 与资产管道集成,因此以.jsx 结尾的文件将经过 Babel 预处理(默认情况下)。

    尝试将您的 ES6 代码放入带有.jsx 后缀app/assets/javascripts/myjavascript.jsx 的文件中。这应该让他们通过 Babel 运行,这将转换 ES6 代码。

    【讨论】:

    • 感谢资产管道的解释,这给了我一些观点。 React-Rails gem 正在使用 Babel-Transpiler,但我不明白在哪里配置它(初始化程序?)。我宁愿配置转译器来处理我现有的文件,而不是相反。抱歉我缺乏信息,我只是习惯于 JS 并使用 Webpack/Browserify/Gulp/Grunt 等构建工具来明确地运行这些任务。
    • Rails 是关于约定优于配置的。资产管道约定运行文件后缀。您可以自定义 sprockets 来调整处理方式,但可能比它的价值更多:查看github.com/rails/sprockets/blob/master/guides/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-25
    • 1970-01-01
    • 2012-05-30
    • 2011-08-09
    • 1970-01-01
    相关资源
    最近更新 更多