Terminal 如何将Gulp3迁移到Gulp4(gulpfile.js)?

Terminal 如何将Gulp3迁移到Gulp4(gulpfile.js)?,terminal,gulp,gulp-sass,postcss,gulp-4,Terminal,Gulp,Gulp Sass,Postcss,Gulp 4,我无法将我的gulpfile.js从GULP3更新到GULP4 我尝试使用gulp.series()和gulp.parallel()进行更新 我的Gulpfile是这样的: var gulp = require('gulp') var browserSync = require('browser-sync').create() gulp.task('serve', function(){ browserSync.init({ server: { baseDir: './

我无法将我的gulpfile.js从GULP3更新到GULP4 我尝试使用gulp.series()和gulp.parallel()进行更新 我的Gulpfile是这样的:

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

gulp.task('serve', function(){
  browserSync.init({
    server: {
      baseDir: './dist'
    }
  })
})
gulp.task('css', function(){

  var processors = [
  //postcssPlugins
  ]

  return gulp.src('./srcFiles')
    .pipe(postcss(processors))
    .pipe(gulp.dest('./DestFiles'))
    .pipe(browserSync.stream())
})
gulp.task('watch', function(){
  gulp.watch('srcFiles', ['css'])
  gulp.watch('DestFile.Html').on('change', browserSync.reload)
})
gulp.task('default', ['watch', 'serve'])

我得到的错误是必须指定任务函数

您需要注意Gulp 3和Gulp 4之间的许多显著差异。例如,Gulp.js 4.0引入了series()和parallel()方法来组合任务:

  • series(…)按指定的顺序一次运行一个任务,并且
  • 并行(…)以任意顺序同时运行任务
要全面了解如何在Gulp4中设置gulpfile.js,我建议您阅读位于的详细教程

同时,快速重新编写代码大致如下所示

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

var paths = {
    styles: {
        src: "./path/to/scss/files/**/*.scss",
        dest: "./folder/to/output/css/file"
    }
}

function css(){
    return gulp
        .src(paths.styles.src)
        // ... CSS Preprocessor Plugins
        .pipe(gulp.dest(paths.styles.dest))
        .pipe(browserSync.stream());
}

function reload(){
    browserSync.reload();
}

function watch(){
    browserSync.init({
        server: { baseDir: "./dist" }
    });
    gulp.watch(paths.styles.src, css);
    gulp.watch('DestFile.html', reload);
}

exports.watch = watch;
exports.css = css;
exports.default = gulp.parallel(css, watch);
然后,您只需运行
gulp
gulp watch
来初始化BrowserSync服务器并开始监视更改

如果只需要重新编译CSS,可以运行
gulpCSS


要查看可用的gulp任务列表,请运行
gulp--tasks

gulp 3和gulp 4之间有许多显著差异,需要注意。例如,Gulp.js 4.0引入了series()和parallel()方法来组合任务:

  • series(…)按指定的顺序一次运行一个任务,并且
  • 并行(…)以任意顺序同时运行任务
要全面了解如何在Gulp4中设置gulpfile.js,我建议您阅读位于的详细教程

同时,快速重新编写代码大致如下所示

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

var paths = {
    styles: {
        src: "./path/to/scss/files/**/*.scss",
        dest: "./folder/to/output/css/file"
    }
}

function css(){
    return gulp
        .src(paths.styles.src)
        // ... CSS Preprocessor Plugins
        .pipe(gulp.dest(paths.styles.dest))
        .pipe(browserSync.stream());
}

function reload(){
    browserSync.reload();
}

function watch(){
    browserSync.init({
        server: { baseDir: "./dist" }
    });
    gulp.watch(paths.styles.src, css);
    gulp.watch('DestFile.html', reload);
}

exports.watch = watch;
exports.css = css;
exports.default = gulp.parallel(css, watch);
然后,您只需运行
gulp
gulp watch
来初始化BrowserSync服务器并开始监视更改

如果只需要重新编译CSS,可以运行
gulpCSS

要查看可用的gulp任务列表,请运行
gulp--tasks