LINUX.ORG.RU

LiveReload over SSH(FS)

 , ,


0

1

Машина №1 (192.168.0.103) - машина с редактором.
Машина №2 (192.168.0.104) - машина с монитором.

1. Монтирую директорию на машине №2, которая находится на машине №1 на машину №2:

sshfs user@192.168.0.103://home/user/Development Development -o reconnect -o intr -o rw
2. Запускаю на машине №2 guard:
~$ guard
3. Подключаю на машине №2 в бразузере (Firefox, Chromium) live-reload плугин, всё коннектится, всё ок.

Но проблема в том, что изменения не считываются, live-reload не обновляет браузер, если редактировать и сохранять файлы в примонтированной директории, пробовал различные опции для sshfs, как-то: sync_readdir, cache, direct_io, async_read, sync_read - не работает. Хотя, разумеется, всё работает на локальных директориях.

Подскажите, как работать с LiveReload (gem guard и guard-livereload) на удаленных машинах.

Или посоветуйте альтернативу: как автоматически обновлять страницу в браузере, если были измененны html/css/js файлы в директории, к которой удаленно подключены и производится работа с другой машины.

VimCasts
() автор топика

Тупо:

<head>
<meta http-equiv="refresh" content="3">
</head>
Каждые три секунды авторефреш страницы.

Или хитрее - копать в эту сторону. Смысл в том, что можно проверять ласт модифаед любого статического файла. Пусть и с задержкой, например те же три секунды, но гарантировать рефреш страницы если файло менялось, в противном случае уходить в таймаут и вызывать себя рекурсивно для очередной проверки.

deep-purple ★★★★★
()
Ответ на: комментарий от deep-purple

Смысл в том, что можно проверять ласт модифаед любого статического файла.

Ты не поверишь как работает livereload

Dantix ★★
()
Ответ на: комментарий от deep-purple

Всем спасибо ребята, только что мигрировал с livereload на livejs, все проблемы решены, никаких плугинов для бразузера не нужно, единственное что, не работает с file://, но локальный nginx не проблема же.

VimCasts
() автор топика
Ответ на: комментарий от VimCasts

Почему не сделать как-то так?

ssh -L 9000:localhost:9000 -L 35729:localhost:35729 office -Nn

9000 порт вебсервера и 35729 порт лайврелоада, и не надо никуда ничего маунтить.

Dantix ★★
()
Ответ на: комментарий от Dantix

Да, читал этот вариант, но уже перешел на безплагиновое вышеуказанное решение, проще простого.

VimCasts
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.