При развертывании на нескольких экземплярах сервера мы столкнулись с несогласованными именами для наших пакетов 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.

Вы можете прочитать больше здесь:

Https://github.com/rails/webpacker