Browsersync gulp任务不会注入CSS(或者gulp不会在后台运行另一个监视任务)

Browsersync gulp任务不会注入CSS(或者gulp不会在后台运行另一个监视任务),gulp,browser-sync,Gulp,Browser Sync,似乎监视任务在browserSync.init停止。例如,我可以通过gulp cssInkject调用它们来分别运行所有任务,但当gulp watch运行时,它们不会运行。Browsersync将发出文件事件[更改]:resources/assets/styles/modules/_breadcrumbs.css通知,但不会运行绑定css的任务,也不会注入css流 代码如下: var gulp = require('gulp'), watch = require('gulp-watch'), b

似乎监视任务在browserSync.init停止。例如,我可以通过gulp cssInkject调用它们来分别运行所有任务,但当gulp watch运行时,它们不会运行。Browsersync将发出文件事件[更改]:resources/assets/styles/modules/_breadcrumbs.css通知,但不会运行绑定css的任务,也不会注入css流

代码如下:

var gulp = require('gulp'),
watch = require('gulp-watch'),
browserSync = require('browser-sync').create();

gulp.task('watch', function() {

    browserSync.init(null, {
        notify: false,
        browser: "chrome",
        server: {baseDir: "app"},
        port: 8000
    });

    watch('./app/*.html', function() {
        browserSync.reload();
    });

    watch('./app/assets/styles/**/*.css', function() {
        gulp.start('cssInject');
    });

    watch('./app/assets/scripts/**/*.js', function() {
        gulp.start('scriptsRefresh');

    });

});

gulp.task('cssInject', ['styles'], function() {
    return gulp.src('./app/temp/styles/styles.css')
    .pipe(browserSync.stream());
});

gulp.task('scriptsRefresh', ['scriptsBundle'], function() {
        browserSync.reload();

    });

gulp.task('styles', function() {
  return gulp.src('./app/assets/styles/styles.css')
    .pipe(postcss([cssImport, mixins, cssvars, nested, hexrgba, autoprefixer]))
    .on('error', function(errorInfo) {
      console.log(errorInfo.toString());
      this.emit('end');
    })
    .pipe(gulp.dest('./app/temp/styles'));
});
我正在Ubuntu VM homestead/laravel中运行它,如果有什么不同的话。

试试这个

gulp.task('cssInject', ['styles'], function() {
    browserSync.stream();
});

我不知道它为什么有效,但它有效:

gulp.watch('./app/*.html', function() {
    browserSync.reload();
});

gulp.watch('./app/assets/styles/**/*.css', function() {
    gulp.start('cssInject');
});

gulp.watch('./app/assets/scripts/**/*.js', function() {
    gulp.start('scriptsRefresh');

});
基本上,在“watch”中添加“gulp”解决了这个问题,这个问题甚至更奇怪,因为它只在本地windows环境中使用“watch”,而在homestead laravel上不使用