Прямая перезагрузка посылки не работает для простого HTML - PullRequest
0 голосов
/ 23 января 2019

Я учусь посылку JS.В документации описана прямая перезагрузка.

https://parceljs.org/getting_started.html

Я подозреваю, что когда я изменю содержимое HTML-файла, я увижу, что мой веб-сайтперезагрузка и проект будет перестроен.


Как воспроизвести ошибку?

Я набрал два сценария bash:

prepare.sh

#!/usr/bin/env bash

HTML="<html><body>1</body></html>";

echo ${HTML} > index.html;

Создает простейший из возможных HTML-файлов.

1) Запустите этот скрипт bash prepare.sh.

2) Теперь во втором терминале запустите посылку.

parcel index.html --no-cache --no-hmr --log-level 5

Затем создайте скрипт для выполнения основного теста:

test.sh

#!/usr/bin/env bash

HTML="<html><body>1</body></html>";

echo ${HTML} > index.html;


# I checking if html served by parcel contains 1, it should and conatin
if [[ $(curl -s localhost:1234 | grep 1 | wc -l) -eq 1 ]]; then
    echo "GREAT when the index is replaced project is rebuilt";
else
    echo "WRONG";
fi

# I replacing 1 inside of a body tag to 12 
perl -pi -e 's/1/12/g' index.html

echo "waiting 1 second for the rebuild...";
sleep 1;

# I checking if html served by parcel contains 2, it should but not conatin 
if [[ $(curl -s localhost:1234 | grep 2 | wc -l) -eq 1 ]]; then
    echo "GREAT";
else
    echo "WRONG but when I only modified file project parcel did not see it";
fi

Итак.Я снова создаю HTML-файл (заменяю его) и вижу, что вызывается процесс сборки.Но когда я только изменяю файл, изменяя строку внутри тега body, тогда ничего не происходит.Сервер посылок не обнаружил его.

1 Ответ

0 голосов
/ 12 мая 2019

Флаг --no-hmr отключает как HMR, так и любой тип перезагрузки . Для простого HTML в вашем вопросе простоудаление флага --no-hmr должно работать.

Однако неожиданные побочные эффекты могут возникать в более сложном HTML, который модифицируется с помощью JS.Был выдвинут запрос на добавление --reload флажка , но он никогда не был объединен.Вы можете попробовать изменить свою собственную посылку на основе PR или попробовать одну из вилок, которые реализуют plain reload .

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