В моем application.js.coffee
я определяю некоторые общие функции, которые я использую в других моих файлах JavaScript. До сих пор это не было проблемой, потому что, за исключением application.js.coffee
большая часть кода была завернута в готовый документ $ ->
Теперь я оптимизирую время загрузки, например, запустив запросы AJAX за пределами $ ->
чтобы начать загрузку данных заранее.
Теперь мне нужны функции, которые я определил, которые, конечно, недоступны, поскольку application.js.coffee
загружен в самом конце. Чтобы решить эту проблему, я заменил
#= require_tree .
с
#= require_self
#= require_tree .
Это способ сделать это, или это запрещено?
Как обычно это делается. Вам нужно будет потребовать application.js.coffee
перед тем, как потребуются ваши другие файлы javascript (которые загружаются с require_tree). Убедитесь, что зависимости приложения plugin приложения.js.coffee загружены до require_self
.
Например, если вы используете jQuery, вы сделаете это так в своем приложении application.js.coffee
#= require jquery
#= require_self
#= require_tree .