运行一个Gulp监视任务里面的任务

Running a Gulp Task inside the Watch Task

我有以下 Gulp 监视任务。

// Watch function
function watch() {
    // browserSync.init({
    //     proxy: 'localhost/Unice/html'
    // });
    gulp.watch('assets/scss/**.*scss', style);
    gulp.watch('./*.html').on('change', browserSync.reload);
    gulp.watch('assets/css/**.css').on('change', browserSync.reload);
}

我有另一个任务将 SCSS 转换为 css,如下所示

//scss to css
function style() {
    return gulp.src('assets/scss/**/*.scss', { sourcemaps: true })
        .pipe(sass({
            outputStyle: 'compressed'
        }).on('error', sass.logError))
        .pipe(autoprefixer('last 2 versions'))
        .pipe(gulp.dest('assets/css', { sourcemaps: '.' }))
        .pipe(browserSync.reload({ stream: true }));
}

如果我对任何 SCSS 文件进行修改,如何在 运行 执行 watch 命令时自动 运行 style 任务。

您的 watch 任务中的 glob 包含错误,应该是:

gulp.watch('assets/scss/**/*.scss', style);