0
比方說,我有一個名爲foobar.js.erb.coffee
的文件。資產文件在rails中編譯時,預處理器引擎如何運行?
我很困惑當rails應用程序編譯時如何解釋這個文件。我的理解如下: 1)Coffeescript預處理器引擎從coffeescript解釋爲ruby(erb)。 2)ERB預處理器引擎將ruby轉換爲javscript。
我能理解這個嗎?
比方說,我有一個名爲foobar.js.erb.coffee
的文件。資產文件在rails中編譯時,預處理器引擎如何運行?
我很困惑當rails應用程序編譯時如何解釋這個文件。我的理解如下: 1)Coffeescript預處理器引擎從coffeescript解釋爲ruby(erb)。 2)ERB預處理器引擎將ruby轉換爲javscript。
我能理解這個嗎?
例如,foobar.js.erb.coffee
的文件的擴展將被由兩個部分組成:接着處理程序(
.erb.coffee
)的格式(foobar.js
)。
處理程序是模板或模板語言的預處理程序。有許多內置的處理程序,還有更多可以通過使用額外的寶石來添加。
轉換順序是從右到左。
就你而言,CoffeeScript引擎試圖將CoffeeScript轉換爲JavaScript(由於現有的ERB可能會導致CoffeeScript具有無效的語法,因此可能會發生錯誤),然後ERB處理程序會將所有Ruby代碼替換爲輸出值應該是。
我總是把.erb
換成這種情況。例如,main.css.scss.erb
或app.js.es6.erb
。