Comments 6
Чем amok не понравился? gist.github.com/barneycarroll/de16bdff255344873439
+1
До вашего комментария я просто и не знал о таком.
Я посмотрел, выглядит интересно. Но есть ряд отличий:
Но в целом мне нравится их способ hot swap (используется api к хромовским devtools). Можно было бы вместо извлечения функций просто попытаться определить какая поменялась, а дальше — либо hot swap, либо full reload.
Я посмотрел, выглядит интересно. Но есть ряд отличий:
- насколько я вижу тут другая крайность — любое изменение в js приводит к «мягкой» замене. Так, например, если я поменяю что-то в методе контроллера, вызвать m.redraw будет недостаточно (m.redraw не пересоздает компоненты), нужно перезагружать всю страницу. Мне как раз хотелось, чтобы изменения в методах view приводили к «мягкому» обновлению, а в прочих — к «жесткому». Возможно я ошибаюсь и в amok так тоже можно?
- работает только для Chrome. Не страшно, конечно, но я и некоторые мои коллеги используем в разработке FF.
Но в целом мне нравится их способ hot swap (используется api к хромовским devtools). Можно было бы вместо извлечения функций просто попытаться определить какая поменялась, а дальше — либо hot swap, либо full reload.
0
Ребят, давно на сцене www.browsersync.io красуется, без плагинов, с админкой, с ремоут дебаг
200 591 downloads in the last month
+3
Спасибо за наводку.
Поправьте меня, если я ошибаюсь, но разве browsersync умеет «мягко» перегружать javascript? Я ни в доках ни в примерах такого не нашел. А мне нужно было как раз при определенных изменениях в js применять эти изменения без перезагрузки страницы.
Поправьте меня, если я ошибаюсь, но разве browsersync умеет «мягко» перегружать javascript? Я ни в доках ни в примерах такого не нашел. А мне нужно было как раз при определенных изменениях в js применять эти изменения без перезагрузки страницы.
0
Хм, достаточно смутно представляю кейсы где это реально надо. Если даже, то это умеет делать консоль хрома, менять логику. Она даже физически с браузера запишет вам изменения в файлики.
www.sitepoint.com/edit-source-files-in-chrome
Но почему я смутно вижу кейсы, так это потому, что адекватная реинициализация возможно только через релоад в любом случае.
www.sitepoint.com/edit-source-files-in-chrome
Но почему я смутно вижу кейсы, так это потому, что адекватная реинициализация возможно только через релоад в любом случае.
Note however, that code won’t start again so changes to initialization variables won’t be affected.
0
Так в статье же описан кейс, где это нужно.
Есть фреймворк mithril, используя который мы разбиваем код на компоненты. У каждой компоненты есть метод view, который отображает модель на представление(html). Этот метод — чистая функция, не меняющая состояние, ее можно безопасно обновить.
Например если у себя в коде:
я захочу поменять набор классов для кнопки (btn-primary дописать, например) и посмотреть что получится, то вот такую функцию view можно было бы обновить без перезагрузки всей страницы.
Консоль хрома это хорошо, но что если у меня исходники в coffeescript и я их собираю с помощью browserify? Тут простая запись обратно в файлики не поможет.
Есть фреймворк mithril, используя который мы разбиваем код на компоненты. У каждой компоненты есть метод view, который отображает модель на представление(html). Этот метод — чистая функция, не меняющая состояние, ее можно безопасно обновить.
Например если у себя в коде:
var MyButton = {
view: function (c, title) {
return m("button", {class: "btn btn-large"}, title);
}
}
я захочу поменять набор классов для кнопки (btn-primary дописать, например) и посмотреть что получится, то вот такую функцию view можно было бы обновить без перезагрузки всей страницы.
Консоль хрома это хорошо, но что если у меня исходники в coffeescript и я их собираю с помощью browserify? Тут простая запись обратно в файлики не поможет.
0
Sign up to leave a comment.
LiveReload — обновление javascript без полной перезагрузки страницы (на примере mithril)