Задать вопрос

Код js подключается 2 раза в application.js и в своем файле(?

app
..assets
....javascripts
......application.js
......somecode.js
app/assets/javascripts/application.js
//=require somecode
/app/views/layouts/application.html.haml
= javascript_include_tag 'application'
на выходе в public/assets ожидаю application.js, а получаю application.js и somecode.js. И на в коде страницы вижу:

<script src="/assets/somecode-3b9fe45f9d9a8007fa4c213cfbced5fd.js?body=1"></script>
<script src="/assets/application-3b9fe45f9d9a8007fa4c213cfbced5fd.js?body=1"></script>


Т.е. код подключился 2 раза. Это неожиданное поведение напрягает.
Задача такая: в папке javascripts сырцов ассетов собрать все нужные скрипты. Подключить их в одном application.js и собрать в один файл на выходе компиляции ресурсов.
  • Вопрос задан
  • 286 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
POS_troi
@POS_troi
СадоМазо Админ, флудер, троль.
В дополнение к vsuhachev

/config/environments/development.rb

config.assets.debug = true

заменить на

config.assets.debug = false

Если желаете в девелоп окружении иметь то что желаете :)

P.S. //=require somecode не обязательно если файл находится в /app/assets и в application.js есть строка //= require_tree .
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@vsuhachev
во первых имеет значение в каком вы окружении, в development такое поведение нормально, а ассеты для production собираются с помощью задачи assets:precompile

во вторых, по умолчанию в манифесте (application.js) обычно есть команда require_tree, которая включает все файлы из подкаталогов, т.е. require somecode не нужен

почитайте вот тут как это все работает
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
OTKLIK POWER Москва
от 80 000 до 150 000 ₽
от 6 000 до 8 000 $
Netwrk Буэнос-Айрес
от 5 000 до 7 500 $