2013-12-12 2 views
0

В моем application.js.coffee Я определяю некоторые общие функции, которые я использую в других моих файлах JavaScript. До сих пор это не было проблемой, потому что кроме application.js.coffee большая часть кода была завернута в документе готовый $ ->Можно ли изменить порядок загрузки файлов JavaScript в Rails 4?

Теперь я оптимизации времени загрузки, например, работает AJAX запросы за пределами $ ->, чтобы начать загрузку данных заранее.

Теперь мне нужны функции, которые я определил, которые, конечно, недоступны, так как application.js.coffee загружен в самом конце. Чтобы решить эту проблему, я заменил

#= require_tree . 

с

#= require_self 
#= require_tree . 

ли это способ сделать это, или это запрещенное?

+0

Просто означает, что код в application.js придет первым в скомпилированный файл. Если это не зависит ни от каких других файлов, все должно быть в порядке. – sevenseacat

+0

Хорошо, не стесняйтесь публиковать это как ответ. Я знаю, что это не так много, но это тоже мой вопрос, я просто не был уверен. –

ответ

1

Вот как это делается. Вам нужно будет потребовать application.js.coffee перед тем, как потребуются ваши другие файлы javascript (которые загружаются с require_tree). Убедитесь, что зависимости приложения plugin приложения.js.coffee загружены до require_self.

Например, если вы используете JQuery, вы могли бы сделать это таким образом в вашем application.js.coffee

#= require jquery 
#= require_self 
#= require_tree . 
Смежные вопросы