#ruby-on-rails #webpack #sprockets #webpacker
#ruby-on-rails #webpack #звездочки #webpacker
Вопрос:
Я расследовал некоторые проблемы с компиляцией ресурсов для нашего приложения и столкнулся с этой странной вещью.
Кажется, что приложение rails при запуске RAILS_ENV=production rake assets:precompile
все еще записывает много файлов javascript. Вот выдержка:
INFO -- : Writing /[some path]/public/assets/packs/reactapp-8d537cdb655e367c2557d2bd4f691a7056b318930c822aee42bb1fbc20533a83.js
INFO -- : Writing /[some path]/public/assets/video-thumb-082a5744955665d1553a0a018770c5fb5fc8fcb8bf108b804c4eb60765da4aed.png
INFO -- : Writing /[some path]/public/assets/visa-599fcb6beaeb6d9fd21df3dcabc42eb01d89cb3907860ed96bab0b0aeb0b79bc.png
INFO -- : Writing /[some path]/public/assets/components/IconSpacer-ca951c3d90e885b394225189b264cba9729606ffe620ea308a3f87f0d902f3e7.jsx
INFO -- : Writing /[some path]/public/assets/components/ToolbarButton-d7cb37546156ceda11c3e7b9591f37edd964df87a68a2d5b1347c1c8970d7170.jsx
INFO -- : Writing /[some path]/public/assets/components/archive/ArchiveListItem-433c52b7df01bab755574962478f0dbf862f5eeb742747a775b4fe872281003f.jsx
Это касается того, что кажется всеми файлами javascript, даже packs
папки. Но поскольку мы используем Webpacker, эти файлы вообще не должны затрагиваться конвейером ресурсов rails, они просто должны стать частью одного из пакетов, выводимых Webpack.
Каков был бы наилучший способ сообщить rails / sprockets игнорировать эти файлы?
Комментарии:
1. Ваши файлы js находятся в папке
app/assets/javascript
илиapp/javascript
? Используете ли выjavascript_pack_tag
helper?2. Они есть
/app/assets/javascripts/
, и я использую новыеjavascript_packs_with_chunks_tag
, но это всего лишьsplit-chunks
удобная замена Webpacker 4 наjavascript_pack_tag
3. Если я правильно помню, Webpacker использует только те файлы, которые находятся в
app/javascript
и не вapp/assets/javascript
, это указано в разделе «использование» readme. Перемещение ваших файлов вapp/javascript/packs
должно исправить это4. Судя по тому, как вы написали свой ответ, кажется, что вы на самом деле не прочитали, в чем был вопрос. Тем не менее, возможно, что проблема возникла из-за структуры папок. Мы используем приложение rails 4, и структура папок rails 4 немного отличается от rails 5, для чего, я полагаю, и создан readme. Я предполагаю, что перемещение файлов может сработать, но это то, чего я бы предпочел не делать сейчас. Тем не менее, вопрос остается тем же. В конце концов, проблема не в webpacker (который работает нормально), а в том, как сообщить sprokets игнорировать эти файлы