【问题标题】:Rails 4 + Sprockets: Allowing the use of js.erb filesRails 4 + Sprockets:允许使用 js.erb 文件
【发布时间】:2018-09-21 07:07:34
【问题描述】:

我正在尝试在我的 Rails 4 应用程序中使用 ES6 语法,并且在使用 sprockets-es6 (0.9.2)sprockets-rails (3.0.4)sprockets (3.6.0) 之间取得了一些成功。

我遇到的唯一问题是我的文件需要以.es6 结尾才能启用正确编译,我希望能够使用.es6.erb.js.erb 文件类型来允许我使用嵌入式红宝石<%= foo %>

有人知道解决这个问题的方法吗?

【问题讨论】:

  • 不要使用嵌入式红宝石?很少有实际情况需要它。特别是因为它是在部署时编译的。
  • 是的,但我想在这种情况下,而不是为我可以在一行 ruby​​ 中做的事情生成一堆 ajax 调用
  • 您有没有想出解决方案?这很少见,但我确实需要在一个文件中检查 Rails.env。
  • 不,我没有。必须找到解决方法

标签: ruby-on-rails ruby-on-rails-4 ecmascript-6 sprockets


【解决方案1】:

这个问题已经有几年了,OP 指定 Sprockets 3.6。但我猜很多人在寻找将 erb 文件与更现代版本的 sprocket 一起使用的解决方案时会发现这个问题。

如果您使用的是 Sprockets 4 并想使用 .js.erb,您需要“注册_mime_type”。

例如将以下内容添加到名为./config/initializer/register_mime_type.rb的新文件中

Sprockets.register_mime_type 'application/javascript', extensions: ['.js.erb']

这在Extending Sprockets 中有描述。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-12-09
    • 1970-01-01
    • 1970-01-01
    • 2014-09-11
    • 1970-01-01
    • 2018-02-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多