2015-12-23 5 views
3

Простите меня, если вопрос слишком субъективен.В чем смысл перезагрузки горячего модуля?

Я действительно понимаю, что это. Не нужно объяснять это, пожалуйста.

Я просто не понимаю, почему люди считают это полезным. То же самое для живой перезагрузки. Акт нажатия CMD + R не является чем-то, что требует времени. Если фактическое обновление занимает значительное время, кажется, что нужно просто исправить свою среду разработчиков.

У меня есть проблема доверия с такими вещами. Похоже, что они в конечном итоге вызовут ошибки. Я боюсь, что я проведу час, отслеживая ошибку, только чтобы найти, что это была ошибка с перегрузкой модуля. Или что все работает в dev, но ломается в prod, потому что prod не использует перезагрузку hot-module и dev. Возможно, этот страх неуместен.

Мне также сложно понять, когда изменения вступили в силу. Кажется проще просто знать, что как только вы нажимаете CMR + R, ваши изменения есть.

+1

это инструмент, как левый консервный нож: некоторые найдут его полезным, а некоторые - нет. – dandavis

+0

иногда у меня есть браузер на другом мониторе, чем редактор. будучи тяжелым пользователем клавиатуры, гораздо быстрее нажимать ctrl + s, чем ctrl + s, alt + tab, ctrl + f5, alt + tab ... для CSS, это не может быть неудачно, для JS это зависит. – dandavis

ответ

1

Меня тоже пугает ... если я не могу доверять ему в 100% случаев (и я не могу уйти от обновления в 100% случаев), зачем беспокоиться о дополнительном осложнении?

Это освежает, чтобы освежиться. Это моя новая поговорка.

4

Это эффективность вещь. Независимо от того, насколько быстро ваша среда для разработчиков, когда вы нажимаете Refresh, это займет секунду или два, поскольку по определению вещи не будут поступать из кеша, и мы говорим об этом, чтобы могла быть куча HTTP-запросов которые будут объединены в пару паролей HTTP-запросов на производстве. Поэтому, если ваш рабочий процесс сохранен, переключитесь в браузер, нажмите «Обновить», вы сидите там на пару секунд. Каждый раз.

С живой перезагрузкой нажмите кнопку «Сохранить» в своем редакторе, и к тому времени, как вы переключились на ваш браузер, обновление уже завершено или, по крайней мере, выполняется.

Я скептически относился к его значению, пока не начал использовать его. Определенно замеченные циклы были немного быстрее, иногда заметно быстрее, в зависимости от того, что я изменил, и сразу ли перешел в браузер или нет.

У меня не было проблем с этим, вызывая ошибки. YMMV.

+0

Достаточно честный. Как насчет того, чтобы знать, когда он вступил в силу? Это странно для вас? – tybro0103

+0

@ tybro0103: Это не так. Если я думаю, что по какой-то причине это провалилось, я просто (барабан рулон, пожалуйста) ударил обновление. :-) Я не совсем уверен, что это на самом деле никогда не проваливалось, но, по-видимому, ничего не идеального. –

+0

Ditto ...и я * старше *, я получаю (я уверен, что я хотел сказать, что я более опытен, я получаю), тем лучше, что ** эффект ** ближе к ** причине **. :-) – markE

3

HMR полагается на сохранение состояния. Для простого веб-приложения перезагрузка может занять только секунды. Для сложного веб-приложения шаги, необходимые для перехода в состояние, могут быть длинными и сложными, открытыми для ошибок на этом пути. Таким образом, вы делаете свой длинный список шагов, добираетесь до бит, который вы тестируете и придираетесь, глупая опечатка означает, что вам нужно начинать заново. Можно избежать всякой ненужной повторяющейся работы, сменив задание от часов до десятков минут, используя HMR. У меня нет никаких проблем, чтобы доверять ему, для чего он предназначен.

Вы никогда бы не выпустили без тестирования, и вы никогда не проверили бы с HMR. HMR предназначен для разработки, вам нужно только доверять ему, чтобы поддерживать состояние во время работы через модуль.

+0

Upvote за то, что вы попали в определенное состояние. – tybro0103

+1

Потеря доверия не имеет ничего общего с пониманием. Скорее всего, вы доверяете простому решению или сложному решению? Обещания - хороший пример сложного решения простой проблемы, которая «обещала» много для разработчиков, и теперь она начинает становиться проблемой из-за того, как обрабатываются ошибки. – blahed

+0

Обещания LOL были разработаны для упрощения характера приложений Javascript. Они не неисправны, и не работает старая модель обратного вызова/события. Это основное отсутствие понимания того, что происходит под капотом, что является причиной проблем. – Blindman67

 Смежные вопросы

  • Нет связанных вопросов^_^