Я предпочитаю , а не для объединения JavaScript файлы в режиме разработки, но обслуживают их как отдельные файлы. Итак, я настроил:
development.rb:
config.assets.compress = false
config.assets.debug = true
config.assets.compile = true
В моем каталоге / app / assets / javascript у меня есть:
reviews.js:
//= require jquery
//= require jquery_ujs
//= require_tree ./reviews
Я включаю JavaScript, используя <% = javascript_include_tag "reviews"%>
в моем макете. Сгенерированная страница правильно ссылается на три скрипта по отдельности, а reviews.js
по существу пуст. Все идет нормально.
Теперь, когда я предварительно компилирую свои ресурсы для производства с использованием rake assets: precompile
, три файла JavaScript объединяются в reviews.js
. Это все нормально для производства, но теперь, в режиме разработки , объединенный reviews.js
обслуживается в дополнение к двум отдельным файлам.
Конечно, это приводит ко всевозможным неприятным ошибкам при разработке, потому что теперь содержимое foo.js
и bar.js
обслуживается дважды, одна из них - в потенциально более старая версия в reviews.js
.
Как я могу убедиться, что Rails не использует предварительно скомпилированные ресурсы в режиме разработки?