将v-4中的Gulp任务与它包装在一起吗?

时间:2019-04-04 09:31:23

标签: gulp

我当前正在使用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']);

1 个答案:

答案 0 :(得分: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);