Предупреждение о завершении асинхронного сигнала при обновлении до Gulp 4 - PullRequest
0 голосов
/ 03 сентября 2018

Я использую Gulp для запуска одной простой задачи в не-JavaScript-проекте. Я пытаюсь обновиться с 3.9.1 до 4.0, чтобы избавиться от потока предупреждений "устаревших" и "безопасности". Вместе с такими статьями, как Краткое руководство по переходу на gulp 4 Я обновил локально, упал gulp-util и в итоге получил package.json:

{
  "name": "redacted",
  "main": "gulpfile.js",
  "private": true,
  "devDependencies": {
    "ansi-colors": "^3.0.5",
    "fancy-log": "^1.3.2",
    "gulp": "^4.0.0",
    "gulp-zip": "^4.2.0",
    "temp": "^0.8.3"
  }
}

Но я не эксперт Node.js, и я явно что-то упускаю. Мои старые задания в стиле:

var gulp = require('gulp');
var log = require('fancy-log');
gulp.task('hi', function() {
    log('Hello, World!');
});

& hellip; Триггер:

PS D:\Redacted> gulp hi
[10:25:58] Using gulpfile D:\Redacted\gulpfile.js
[10:25:58] Starting 'hi'...
[10:25:58] Hello, World!
[10:25:58] The following tasks did not complete: hi
[10:25:58] Did you forget to signal async completion?

Если я ввожу gulp.series() и избавляюсь от анонимных функций, как рекомендует статья:

function hi() {
    log('Hello, World!');
}
gulp.task('hi', gulp.series(hi));

& hellip; затем либо задача выполняется дважды, либо ее вывод отображается дважды (не уверен), но предупреждение сохраняется:

PS D:\Redacted> gulp hi
[10:28:47] Using gulpfile D:\Redacted\gulpfile.js
[10:28:47] Starting 'hi'...
[10:28:47] Starting 'hi'...
[10:28:47] Hello, World!
[10:28:47] The following tasks did not complete: hi, hi
[10:28:47] Did you forget to signal async completion?

Какой бит мне не хватает? Есть ли лучшее руководство по обновлению?

1 Ответ

0 голосов
/ 04 сентября 2018

Старомодный синтаксис все еще работает. Я, по-видимому, просто пропустил последний вызов обратного вызова done , который, по-видимому, не требовался в Gulp / 3:

gulp.task('hi', function(done){
    log('Hello, World!');
    done();
});

gulp.series() выглядит как излишнее выполнение одной задачи.

...