Webpacker: включить режим наблюдения или отсоединить webpacker: скомпилировать из ресурсов: задача прекомпиляции в Rails? - PullRequest
0 голосов
/ 20 ноября 2018

Сервер Rails, на котором работает компилятор Webpacker под капотом, компилирует все файлы, а не только измененные файлы при перезагрузке.

Я попытался включить режим просмотра в webpacker.yml в dev_server, но это не помогло.Итак, одну из этих двух вещей, которые я хочу сделать, чтобы решить эту проблему:

  1. Как включить режим просмотра в Webpacker, чтобы каждый раз, когда актив был изменен, единственный затронутый актив будетбудет перекомпилирован и, следовательно, исправит перезагрузку, чтобы сделать разработку быстрой.

  2. Поскольку я не могу найти какое-либо решение по 1-й точке, я хочу отсоединить задачу Webpacker: compile отактивы: прекомпиляция.Хотя я мог отсоединить его на производстве, отключив переменную окружения WEBPACKER_PRECOMPILE на false, а затем скомпилировав эти ресурсы вручную, используя ./bin/webpack.Однако я не могу достичь результата локально, когда я запускаю

export WEBPACKER_PRECOMPILE=false && rails s

Чтобы опробовать 1-е очко, я набрал rails s на одной вкладкеи ./bin/webpack -w в другом.К моему удивлению, режим просмотра с последней командой компилирует только файл, к которому прикоснулись, сокращая время компиляции до 1 с.Однако после перезагрузки страницы rails s снова компилирует все ресурсы, для завершения которых требуется почти минута.

1 Ответ

0 голосов
/ 21 ноября 2018

При взгляде на источник Webpacker меня поразила эта идея:

  1. Используйте команду ./bin/webpack --watch для запуска Webpack в режиме просмотра.Это будет перекомпилировать измененные файлы только для ускорения цикла обратной связи.

  2. Чтобы отсоединить компиляцию Webpack от сервера rails, просто установите compile: false в development environment в webpacker.yml

...