Я запускаю приложение Rails в контейнере Docker, но борюсь со своей средой разработки, так как не могу надежно получить изменения javascript для распространения в мое приложение, работающее на localhost.
Описание шагов для выявления проблемы:
- Если я обновлю представление, я вижу в консоли, что веб-упаковщик компилирует.
- Создает новый актив в кэш-памяти в public / packs
admin-7c69920b702f68258e99.js
- Манифест.json отражает это обновление
"admin.js": "/packs/admin-7c69920b702f68258e99.js"
- Я могу несколько раз обновить представление, но на вкладке сети отображается, что старый ресурс называется
admin-4cf5f7c7d6c5ad665fc6.js
.
Я пробовал следующий процесс, но он не запускает обновление ресурсов даже при отключенном кеше.
- Обновление представления в браузере для запуска компиляции веб-пакета
- Перезапустите сервер Rails, выйдя из Docker и запустив
docker-compose up
- Обновить вид
Мне обычно приходится останавливать и запускать сервер Rails во второй раз, чтобы запустить обновление ресурсов. Это кажется слишком вуду-подобным для эффективной среды разработки.
Я хотел бы найти способ надежного обеспечения отображения последних ресурсов в моей среде разработки без необходимости вручную следить за именами файлов активов, чтобы подтвердить, что обновление произошло.
Есть ли хитрость в том, чтобы перезарядить ресурсы, которые я могу пропустить?
Я использую ruby: 2.3.7 и Rails 5.2.2.1