livereload.js не загружается в браузере и вылетает gulp в проекте windows nodejs
Я недавно установил npm-windows-upgrade для обновления до последней версии npm. Это было для того, чтобы избавиться от проблемы, с которой я столкнулся, когда узлы устанавливались, но часто превышали максимальную длину пути Windows из-за всей вложенности зависимостей.
После того, как эта процедура была выполнена, livereload.js больше не загружался в браузер, и моя задача gulp терпела крах, я получил доступ к URL-адресу страницы. Узел в конечном итоге плюет на консоль:
events.js: 72 throw er; // Необработанное событие 'error' ^ Ошибка: ENOENT, открыть 'C:[путь к проекту]\node_modules\tiny-lr\node_modules\livereload-js\dist\livereload.js' Процесс завершен с кодом 8
В чем проблема и как ее решить?
1 ответ
Проблема здесь заключается в том, что при установке npm-windows-upgrade до более поздних версий npm, npm больше не устанавливает пакеты как вложенные зависимости, если только указанный пакет не конфликтует с другой версией пакета на верхнем уровне.
Это означает, что node_modules, которые являются частью tiny-lr, больше не существуют в подкаталоге, в котором tiny-lr ожидает их появления, когда вы их указываете. Это означает, что необходимо сообщить об этом изменении модулю tiny-lr.
К счастью, при создании tiny-lr вы можете указать путь к файлу livereload.js.
lrserver = require ('tiny-lr') ({livereload: "node_modules / livereload-js / dist / livereload.js"}),
Обратите внимание, что путь - это относительный путь, из которого выполняется ваш gulpfile.