2016-09-30 2 views
0

Предположим, у меня есть файл под названием foobar.js.erb.coffee.Как работает механизм препроцессора, когда файлы активов скомпилированы в рельсах?

Я смущен, как этот файл интерпретируется при компиляции приложения rails. Я понимаю следующее: 1) Механизм препроцессора Coffeescript интерпретируется от coffeescript до ruby ​​(erb). 2) Механизм препроцессора ERB преобразует ruby ​​в javscript.

Я правильно понимаю это?

ответ

1

Например, foobar.js.erb.coffee

Расширение файла будет состоять из двух частей: формат (foobar.js) с последующим обработчиком (.erb.coffee).

Обработчик - это препроцессор для шаблона или язык шаблонов. Существует множество обработчиков, и многие другие могут быть добавлены с помощью дополнительных драгоценных камней.

Порядок преобразования - справа налево.

В вашем случае движок CoffeeScript пытается преобразовать CoffeeScript в JavaScript (ошибка может произойти из-за существующего ERB может привести к неправильному синтаксису CoffeeScript), а затем обработчики ERB заменит весь код Ruby на то, что должно быть на выходном значении ,

Я всегда положил .erb наконец для такого рода ситуаций. Например, main.css.scss.erb или app.js.es6.erb.

Смежные вопросы