browserSync对sass支持有问题?

我想通过gulp+browserSync结合来启动express应用并且监听静态资源变化自动修改,gulpfile相关人物如下:

gulp.task('sass', () => {
    gulp.src('./public/sass/*.scss')
    .pipe(sass().on('error', sass.logError))
    .pipe(autoprefixer())
    .pipe(gulp.dest('./public/stylesheets'))
    .pipe(browserSync.stream());
});

gulp.task('server', ['nodemon'], () => {
    browserSync.init(null, {
        proxy: "http://localhost:3000",
        files: ['public/**/*.*'],
        browser: "google chrome",
        port: 4000
    });
    gulp.watch('./public/sass/*.scss', ['sass']);
});

gulp.task('nodemon', (cb) => {
    let called = false;

    return nodemon({
        script: './app.js',
        ext: 'ejs js',
        ignore: ['public/**']
    }).on('start', () => {
        if(!called){
            cb();
        }
        called = true;
    }).on('restart', () => {
       console.log("restart!");
    });
});

gulp.task('default', ['server']);

但是sass改变之后,页面还是会刷新,我用一个html和一个css试了一下browserSync的效果是正常的,是不是对sass支持不大好?还是我的task有问题?

阅读 3.2k
1 个回答

好吧,发布问题的瞬间发现确实是task写错了,让browserSync只监听编译后的css就可以了,总是在点击发布后的几秒钟才能发现错误。。。。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进