У меня есть сценарий gulp, который изначально был написан для gulp 3.0. Но после обновления следующая задача не работает из-за нового дизайна. В следующей статье описывается эта проблема.
gulp.task("tsbuild", ["lint", "lint-css", "tsbuild-vendor"], () => {
runWebpack(configFile);
});
Приведенный выше код выдает следующую ошибку,
throw new assert.AssertionError({ ^ AssertionError: Task function must be specified
Я создаю сложное веб-приложение и хочу избавиться от ошибки. Изучение gulp выходит за рамки моей компетенции, поскольку мне просто нужно создать веб-приложение. Может ли кто-нибудь указать мне на правильное преобразование приведенного выше фрагмента кода в соответствии с рекомендациями Gulp 4.0?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вероятно, есть несколько разных способов сделать это, но вот мой вывод:
Когда я перешел с Gulp 3 на 4, я начал использовать синтаксис, отличный от `gulp.task () '. Если вы пытаетесь последовательно запускать задачи в своей команде сборки, вы можете импортировать:
const { series } = require('gulp');
А затем создайте задачу сборки, используя синтаксис:
exports.tsbuild = series(lint, lint-css, tsbuild-vendor);
Или, если вы пытаетесь запустить все свои задачи параллельно, замените series на parallel:
const { parallel } = require('gulp');
exports.tsbuild = parallel(lint, lint-css, tsbuild-vendor);
Кроме того, вы можете изменить синтаксис ваших индивидуальных задач на формат функции, например:
function lint() {
// task operations go in here
}
Я надеюсь, что в этом есть смысл. Если вам нужен более подробный контекст, мою полную настройку Gulp с использованием версии 4 можно найти здесь.