Javascript 浏览器同步仅使用nodemon+;狼吞虎咽+;表达
在查找大量相关问题后,我找不到符合我需要的正确答案。 因此,我正在运行一个Express服务器,我想使用Gulp自动化一些任务。Javascript 浏览器同步仅使用nodemon+;狼吞虎咽+;表达,javascript,express,gulp,browser-sync,nodemon,Javascript,Express,Gulp,Browser Sync,Nodemon,在查找大量相关问题后,我找不到符合我需要的正确答案。 因此,我正在运行一个Express服务器,我想使用Gulp自动化一些任务。 这是非常基本的,因为我只需要重新启动服务器(使用Gulp nodemon),然后在文件更改时重新加载浏览器(使用浏览器同步进行跨浏览器和多设备调试) 当我运行我的gulp start命令时,服务器启动,浏览器同步也会启动,从而正确打开我的页面。 但是,在文件更改时,nodemon会正确地重新启动服务器,但不会触发浏览器同步的重新加载。然后我需要手动刷新页面以查看更改
这是非常基本的,因为我只需要重新启动服务器(使用Gulp nodemon),然后在文件更改时重新加载浏览器(使用浏览器同步进行跨浏览器和多设备调试) 当我运行我的
gulp start
命令时,服务器启动,浏览器同步也会启动,从而正确打开我的页面。但是,在文件更改时,nodemon会正确地重新启动服务器,但不会触发浏览器同步的重新加载。然后我需要手动刷新页面以查看更改 这是我的gulpfile:
//Some requires
gulp.task('css', function () {
gulp.src('stylus/main.styl')
.pipe(stylus({compress: false, paths: ['stylus']}))
.pipe(autoprefixer())
.pipe(minifyCSS())
.pipe(rename('style.css'))
.pipe(gulp.dest('public/styles'));
});
gulp.task('sync', ['nodemon'], function() {
browserSync.init({
proxy: 'http://localhost:3000',// Don't use proxy
port: 4000, // Desired PORT address.
open: true,
notify: true,
logConnections: true,
reloadDelay: 1000
});
});
gulp.task('nodemon', function (cb) {
var started = false;
return nodemon({
script: 'index.js',
tasks: ['css'],
ext: 'js ejs styl',
env: { 'NODE_ENV': 'development' }
}).on('start', function() {
if (!started) {
cb();
started = true;
browserSync.reload();
}
}).on('restart', function() {
});
});
gulp.task('start', ['sync']);
我有什么遗漏吗
我看到在这一点上有很多问题,但每个人似乎都会在非常不同的阶段遇到问题…通常“css”任务会有.pipe(reload({stream:true}));最后,也许诺德蒙会帮你解决这个问题。无论如何,我会尝试将stream:true选项添加到您的'nodemon'任务重载()调用中。@Mark由于nodemon负责CSS任务,因此重载没有用,因为应用程序尚未重新启动。我也尝试过这个流:在最初的重新加载调用中为true,没有效果。