livereload.js不会在浏览器中加载并在windows nodejs项目中崩溃

时间:2015-09-09 10:37:31

标签: javascript node.js gulp gulp-livereload

我最近安装了npm-windows-upgrade以升级到最新版本的npm。这是为了摆脱我在安装节点模块的问题,但由于所有依赖项的嵌套,它经常会超过windows最大路径长度。

执行此过程后,livereload.js不再被加载到浏览器中,我的gulp任务崩溃我访问了页面URL。 Node最终会将其吐出到控制台:

  

events.js:72           扔掉//未处理的错误'事件                 ^   错误:ENOENT,打开' C:[项目路径] \ node_modules \ tiny-lr \ node_modules \ livereload-js \ dist \ livereload.js'   流程终止于代码8

问题是什么以及如何解决?

1 个答案:

答案 0 :(得分:0)

这里的问题是,当安装npm-windows-upgrade到更高版本的npm时,npm不再将软件包作为嵌套依赖项安装,除非所述软件包与顶层的另一个软件包版本冲突。

这意味着属于tiny-lr的node_modules不再存在于tiny-lr期望它们指定的子目录中。这意味着必须为tiny-lr模块建立一种传达这种变化的方法。

幸运的是,在tiny-lr的实例化中,您可以指定livereload.js文件的路径。

  

lrserver = require(' tiny-lr')({livereload:" node_modules / livereload-js / dist / livereload.js"}),

请注意,路径是执行gulpfile的相对路径。