结合v-4中的Gulp任务并将其包裹起来?

问题描述 投票:0回答:1

我目前正在使用Gulp v4。问题是干净的dist和包装任务不会自动运行。

/* CLEAN
// empty dist folder
gulp.task('clean', require('del').bind(null, ['dist/*']));
//watch 

gulp.task('watch', gulp.parallel('browserSync', 'sass', 'useref', 'imagemin', 'fonts', function() {
  gulp.watch('app/sass/**/*.scss', gulp.series('sass'));
  gulp.watch('app/*.html').on('change', browserSync.reload);;
}));
/* DEFAULT
/------------------------*/
// default gulp tasks executed with `gulp
gulp.task('default', ['clean', 'css', 'javascript', 'images']);
gulp
1个回答
0
投票

你可以使用gulp.series来组合任务(https://gulpjs.com/docs/en/api/series)。

function clean() {
  return del(['dist']);
}

function scss() {
  return gulp.src('./src/**/*.scss')
    .pipe(sass({ outputStyle: 'compressed' }).on('error', sass.logError))
    .pipe(concat('app.css'))
    .pipe(gulp.dest('./dist'));
}

function build(done) {
  gulp.series(
    clean,
    scss,
  )(done);
}

function serve(done) {
  browserSync.init({
    server: {
      baseDir: './dist',
    },
  });

  done();
}

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

function run(done) {
  gulp.series(
    build,
    serve,
    watchers,
  )(done);
}

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

function watchers() {
  gulp.watch('./src/**/*.scss', gulp.series(scss, reload));
  // ... other watchers here
}

gulp.task('build', build);
gulp.task('default', run);
© www.soinside.com 2019 - 2024. All rights reserved.