【问题标题】:livereload (browser-sync) work just oncelivereload(浏览器同步)只工作一次
【发布时间】:2016-10-04 16:12:01
【问题描述】:

问题是当我开始时

一饮而尽

并更改 sass 文件,页面将重新加载并仅构建一次项目。然后它在任务 sass 上停止,如果我想更改其他 sass 文件 - 然后什么也没发生(见下面的日志)。怎么解决?

gulp.task('sass', wrapPipe(function(success, error) {
     return gulp.src('app/css/scss/style.scss')
         .pipe(sass({
             includePaths: [
                 './bower_components/foundation-sites/scss'
             ]
         }).on('error', error))
         .pipe(gulp.dest('app/css'))
         .pipe(browserSync.reload({
             stream: true
         }));

    }));

    gulp.task('livereload', function () {
        browserSync.init({
            server: "./app",
            notify: false
        });
    });

    gulp.task('watch', ['livereload'], function(){
        gulp.watch('app/css/scss/**/*.scss', ['sass']);
    });

这是日志:

[18:52:39] Starting 'livereload'...
[18:52:39] Finished 'livereload' after 20 ms
[18:52:39] Starting 'watch'...
[BS] Reloading Browsers...
[18:52:39] Finished 'watch' after 33 ms
[BS] Access URLs:
 -------------------------------------
       Local: http://localhost:3000
    External: http://192.168.0.95:3000
 -------------------------------------
          UI: http://localhost:3001
 UI External: http://192.168.0.95:3001
 -------------------------------------
[BS] Serving files from: ./app
[18:52:50] Starting 'sass'...
[BS] 1 file changed (style.css)

【问题讨论】:

    标签: node.js web sass gulp browser-sync


    【解决方案1】:

    除了检测后续修改的 .scss 文件之外,我不确定谁想要什么行为。为此,如果添加 return 会发生什么:

    gulp.task('watch', ['livereload'], function(){
        return gulp.watch('app/css/scss/**/*.scss', ['sass']);
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-11
      • 2017-10-25
      • 1970-01-01
      • 2018-11-02
      • 1970-01-01
      • 2018-06-15
      • 2020-01-26
      • 2013-04-03
      相关资源
      最近更新 更多