Предварительная компиляция Rails: как пропустить определенные типы файлов

#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 игнорировать эти файлы