Kar*_*son 4 node.js livereload gulp gulp-livereload
我正在尝试gulp-livereload使用我的nodejs服务器.我gulp-nodemon用来在更改文件后重启服务器,这是有效的.我livereload.reload()在正确的时间调用时遇到问题.
我目前正在调用livereload.reload()的.on('start'...我gulpfile.js(每当我的nodemon启动脚本).这可行,但需要几秒钟.原因是当nodemon开始运行它调用脚本的NodeJS livereload.listen() 前的脚本已经调用app.listen(port),所以我没有在服务器浏览器refreshs准备好.
有没有办法监听nodejs nodemon脚本是否已调用app.listen(port)或者可能监听是否正在使用特定端口?
我已经解决了一个小睡眠的问题,但它只是感觉如此错误和肮脏.
使用可读事件来监视子进程的stdout.
例:
nodemon({script: 'app.js',
nodeArgs: ['--harmony'],
stdout: false})
.on('readable', function(data) {
this.stdout.on('data', function(chunk) {
if (/koa server listening/.test(chunk)) {
console.log('livereload');
livereload.reload();
}
process.stdout.write(chunk);
});
this.stderr.pipe(process.stderr);
});
Run Code Online (Sandbox Code Playgroud)
app.js
app.listen(3000, function(err) {
console.log('koa server listening');
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1216 次 |
| 最近记录: |