Как использовать gulp.series в gulp 4? - PullRequest
0 голосов
/ 29 апреля 2019

У меня есть супер простой файл gulp, в котором я хочу последовательно выполнить несколько основных задач gulp.

Кажется, я не могу запустить его в Gulp v4.Было что-то похожее в Gulp v3 с использованием run-sequence вместо gulp.series()

const gulp = require("gulp");
const clean = require('gulp-clean');

gulp.task('clean-app', async () => {
  return (gulp.src('./dist/app', {read: true, allowEmpty: true})
    .pipe(clean()));
});


gulp.task('clean-tests', async () => {
  return ( gulp.src('./dist/tests', {read: true, allowEmpty: true})
    .pipe(clean()));
});

gulp.task('all-tasks', gulp.series('clean-app', 'clean-tests'));

Отдельные задачи gulp clean-app и clean-tests выполняются в индивидуальном порядке.

Однако, когда я использую gulp all-tasks, я получаю приведенную ниже ошибку

gulp all-tasks
[17:50:51] Using gulpfile ~\IdeaProjects\my-app\gulpfile.js
[17:50:51] Starting 'all-tasks'...
[17:50:51] Starting 'clean-app'...
[17:50:51] Finished 'clean-app' after 10 ms
[17:50:51] The following tasks did not complete: all-tasks
[17:50:51] Did you forget to signal async completion?

Оба clean-app и clean-tests возвратные потоки, которые, на мой взгляд, были бы достаточными.

Попытался использовать gulp4-run-sequence , но я получаю ту же ошибку.

Хотите иметь возможность запускать gulp all-tasks таким образом, чтобы clean-tests выполнялось после успешного завершения clean-app.

1 Ответ

0 голосов
/ 30 апреля 2019

в зависимости от официальных документов здесь попробуйте запустить cb() в ваших задачах вот так

const gulp = require("gulp");
const clean = require('gulp-clean');

gulp.task('clean-app', (cb) => {
  gulp.src('./dist/app', {read: true, allowEmpty: true}).pipe(clean());
  cb();
});

gulp.task('clean-tests', (cb) => {
  gulp.src('./dist/tests', {read: true, allowEmpty: true}).pipe(clean());
  cb();
});

gulp.task('all-tasks', gulp.series('clean-app', 'clean-tests'));
...