Посылка не перезагружает изменения на HTML-страницу

Я пытаюсь начать работу с Parcel, но не могу заставить работать базовую настройку. Я хотел бы обслуживать статическую HTML-страницу, которая автоматически перезагружается при изменении.

Когда я захожу в http://localhost:1234, Parcel обслуживает мою страницу. Если я что-то изменяю в index.html, он не перезагружается ... или перезагружается с пустым ответом.

версии

parcel: 1.12.4
npm: 6.12.1
node: v13.3.0

index.html

<!doctype html>
<html>
    <head>
        <title>Tinsel town</title>

        <script src="app.js"></script>
    </head>

    <body>
        <h1>Tinsel…</h1>
    </body>
</html>

app.js

// empty

Оболочка

matt$ parcel index.html --log-level 5
[13:20:42]: Server running at http://localhost:1234 
[13:20:42]: Building...
[13:20:42]: Building index.html...
[13:20:43]: Building app.js...
[13:20:43]: Built app.js...
[13:20:43]: Built index.html...
[13:20:43]: Producing bundles...
[13:20:43]: Packaging...
[13:20:43]: Building hmr-runtime.js...
[13:20:43]: Built ../../../usr/lib/node_modules/parcel-bundler/src/builtins/hmr-runtime.js...
[13:20:43]: ✨  Built in 477ms.
[13:20:49]: Building...
[13:20:49]: Producing bundles...
[13:20:49]: Packaging...
[13:20:49]: ✨  Built in 2ms.

person Matt Deacalion    schedule 07.12.2019    source источник


Ответы (1)


Vim и то, как он сохраняет файлы, было проблемой.

Когда вы сохраняете в Vim, он переименовывает файл, который вы редактируете, и сохраняет текущий буфер в расположение файла:

           +------------+       +---------------------------------+
           | index.html +------>+ ~/.cache/vim/backup/index.html~ |
           +------------+       +---------------------------------+


                            index.html is now kaput!

              (no `MODIFY` filesystem event fired, only `DELETE`)


                        +----------+       +------------+
                        | *buffer* +------>+ index.html |
                        +----------+       +------------+

                        (`CREATE` filesystem event fired)

Это поведение по умолчанию можно изменить, установив backupcopy на yes в вашем .vimrc:

set backupcopy=yes " Necessary for ParcelJS to work

Это заставляет Vim писать прямо в файл, который вы редактируете, что, в свою очередь, вызывает событие modification в файловой системе. Посылка посмотри вот это и сделай это.

person Matt Deacalion    schedule 07.12.2019