gulp-livereload
与我的nodejs服务器一起工作。我使用gulp-nodemon
在文件更改后重新启动服务器,这个功能是OK的。但在正确时间调用livereload.reload()
有困难。
目前我在我的gulpfile.js
中的.on('start'...
处调用livereload.reload()
(每当我的nodemon启动脚本时)。这种方法可以实现刷新效果,但需要等待几秒钟。原因是当nodemon开始运行nodejs脚本时,它会在脚本调用app.listen(port)
之前调用livereload.listen()
,所以在服务器未准备好之前浏览器就已经刷新了。
有没有办法监听nodejs nodemon脚本是否已调用app.listen(port)
,或者如何监听特定端口是否正在使用呢?
我已经通过使用一个小睡眠来解决了这个问题,但这样做感觉很不妥和肮脏。