При развертывании на нескольких экземплярах сервера мы столкнулись с несогласованными именами для наших пакетов css в файле манифеста пакета - public/packs/manifest.json
Это вызывает проблемы в производстве при использовании балансировщика нагрузки с elasticbeanstalk, потому что запрос может быть перенаправлен на другой сервер при получении файлов css. Это приведет к сбою из-за несоответствия хэша, а также из-за того, что стили не загружаются и не обрабатываются, что приводит к беспорядку на экране.
Нам нужно, чтобы у всех экземпляров были одинаковые manifest.json
файлы.
После больших копаний мы внесли следующие изменения:
1 / Добавить webpack-chunk-hash как зависимость yarn add webpack-chunk-hash
2 / Обновить config/webpack/production.js
, чтобы использовать webpack.HashedModuleIdsPlugin
3 / Обновить config/webpack/shared.js
, чтобы использовать WebpackChunkHash
4 / Вместо этого использовать [name]-[chunkhash].css
из [name]-[hash].css
в ExtractTextPlugin
Https://bitbucket.org/snippets/realhubapp/ekXpyE
Webpacker - это замечательный инструмент, который настраивает Webpack для Rails для управления современным javascript.
Вы можете прочитать больше здесь: