Почему webpacker: при компиляции вставляет определенное имя хоста в javascript_pack_tag? - PullRequest
0 голосов
/ 21 мая 2018

Я только что завладел проектом Webpack, и я новичок в Webpack.

Проект был успешно развернут на Heroku.Я запустил

rake webpacker:compile

и теперь, после развертывания, я вижу, что

javscript_pack_tag 'application'

вставил это в HTML:

<script src="http://0.0.0.0:8080/packs/application.js"></script>

Каким образом имя хоста ипорт из localhost пробился в систему?Я вижу эту информацию в public / packs / manifest.json, но как мне настроить webpacker для использования относительного пути, чтобы пакет был включен на любом сервере?

Вставленный тег также невключите в конце хэш срока действия, чтобы он не был найден в Heroku, даже если я использую правильное имя хоста.

Я подозреваю, что это потому, что я запускаю webpack: скомпилируйте с настройками разработки.Как получить доступ к этим настройкам?

И, наконец, лучше ли запускать webpack: компилировать как часть процесса развертывания Heroku и как мне его настроить?

Спасибо, Луиза

1 Ответ

0 голосов
/ 02 февраля 2019

Старый вопрос, но для тех, кто находится здесь, я просто столкнулся с чем-то похожим после обновления до webpacker / webpack 4.

После некоторого изучения я заметил, что запуск webpack напрямую через узел не предшествуетимя хоста.У меня была догадка, которая оказалась правильной: webpacker использовал мою переменную окружения ASSET_HOST для префикса всех моих пакетов, и поскольку я конфигурировал мою среду разработки с .env, использовался мой хост ресурсов разработки.

После того, как я переместил это в .env.development (чтобы он также не использовался в качестве базового файла env для производственных целевых сборок) все мои ресурсы манифеста перестали генерироваться с относительными путями, как ожидалось.

Это не было проблемой с webpacker 3.x, но я думаю, что что-то в конвейере сборки webpacker 4.x должно быть более тесно связано с конвейером ресурсов rails ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...