【问题标题】:how does preprocessor engine runs when asset files are compiled in rails?在 Rails 中编译资产文件时,预处理器引擎如何运行?
【发布时间】:2016-09-30 15:04:26
【问题描述】:

假设我有一个名为 foobar.js.erb.coffee 的文件。

我很困惑在编译 rails 应用程序时如何解释这个文件。我的理解如下: 1) Coffeescript 预处理器引擎将coffeescript 解释为ruby(erb)。 2) ERB 预处理引擎将 ruby​​ 转换为 javscript。

我理解正确吗?

【问题讨论】:

    标签: ruby-on-rails ruby coffeescript


    【解决方案1】:

    例如,foobar.js.erb.coffee

    文件的扩展名将由两部分组成:格式 (foobar.js) 和处理程序 (.erb.coffee)。

    处理程序是模板的预处理器,或模板语言。内置了许多处理程序,并且可以通过使用额外的 gem 添加更多处理程序。

    转换顺序是从右到左。

    在您的情况下,CoffeeScript 引擎尝试将 CoffeeScript 转换为 JavaScript(可能会发生错误,因为现有 ERB 可能导致 CoffeeScript 语法无效),然后 ERB 处理程序会将所有 Ruby 代码替换为输出值应有的值。

    对于这种情况,我总是把.erb放在最后。例如,main.css.scss.erbapp.js.es6.erb

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-07
      • 2013-12-13
      • 1970-01-01
      相关资源
      最近更新 更多