Design.io не может выполнять горячую отправку кода

Пытаясь использовать design.io с node.js Express для горячей загрузки css/javascript в браузеры, я клонировал пример https://github.com/viatropos/design.io-example и не смог выполнить горячее развертывание после

  1. следуя инструкциям в https://github.com/viatropos/design.io-example/README.md

    shell-1-project-dir> design.io --watch ./src

    ошибка: неизвестная опция `--watch'

  2. следуя инструкциям на https://github.com/viatropos/design.io/README.md

    shell-1-project-dir> запуск design.io

    shell-2-project-dir> design.io смотреть

    [Вс, 06 мая 2012 г., 03:52:04 GMT] ИНФОРМАЦИЯ обновлена ​​views/.index.jade.swp

    [Вс, 06 мая 2012 г., 03:52:04 GMT] ИНФОРМАЦИЯ обновлена ​​views/index.jade

    [Вс, 06 мая 2012 г., 04:03:11 GMT] ИНФОРМАЦИЯ обновлена ​​views/.index.jade.swp

    [Вс, 06 мая 2012 г., 04:03:11 GMT] ИНФОРМАЦИЯ обновлена ​​views/index.jade

    При этом я не могу получить доступ к http://localhost:4181/, потому что node.js не запущен. Вместо этого я должен запустить node.js.

    оболочка-1-проект-каталог> узел server.js

    Однако это не приводит к горячему изменению файла index.jade.

Кажется, что пример устарел?

Как выполнить горячее развертывание?

Окружение:

 OSX-LION
 node 0.6.15

person Lydon Ch    schedule 06.05.2012    source источник


Ответы (1)


Во-первых, вы можете запустить свой сервер узла в другом окне терминала (вам не нужно запускать ни сервер design.io, ни сервер узла, вы можете запускать оба одновременно, если они находятся на разных портах) .

Во-вторых, я не думаю, что это делает то, что вы хотите. Design.io, по-видимому, предназначен для внесения изменений в статические клиентские файлы, такие как таблицы стилей и файлы javascript. Вы изменяете файл .css, design.io видит изменение и транслирует его в браузер, design.io в браузере принудительно перезагружает таблицу стилей, завершая горячее нажатие изменения.

Файлы Jade — это отдельная история, они должны быть обработаны интерпретатором перед отправкой в ​​браузер (браузеры не понимают файлы jade). Design.io увидит изменение, но ничего не сможет с этим поделать, поскольку Node.js необходимо обработать новый файл и отправить обновленный ответ в браузер. Единственный способ сделать это — обновить страницу браузера (отправив тем самым новый запрос), что на самом деле не является горячей заменой.

person Bill    schedule 06.05.2012
comment
atm я не уверен, какой набор инструкций работает, либо тот, что в основном проекте design.io, либо тот, что в примере design.io. напишу автору :) - person Lydon Ch; 06.05.2012
comment
Инструкции, которые у вас есть как # 2, являются правильными, но, к сожалению, они не предназначены для того, чтобы делать то, что вы хотите. - person Bill; 06.05.2012