Javascript 浏览器同步仅使用nodemon+;狼吞虎咽+;表达

Javascript 浏览器同步仅使用nodemon+;狼吞虎咽+;表达,javascript,express,gulp,browser-sync,nodemon,Javascript,Express,Gulp,Browser Sync,Nodemon,在查找大量相关问题后,我找不到符合我需要的正确答案。 因此,我正在运行一个Express服务器,我想使用Gulp自动化一些任务。 这是非常基本的,因为我只需要重新启动服务器(使用Gulp nodemon),然后在文件更改时重新加载浏览器(使用浏览器同步进行跨浏览器和多设备调试) 当我运行我的gulp start命令时,服务器启动,浏览器同步也会启动,从而正确打开我的页面。 但是,在文件更改时,nodemon会正确地重新启动服务器,但不会触发浏览器同步的重新加载。然后我需要手动刷新页面以查看更改

在查找大量相关问题后,我找不到符合我需要的正确答案。

因此,我正在运行一个Express服务器,我想使用Gulp自动化一些任务。
这是非常基本的,因为我只需要重新启动服务器(使用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,没有效果。