gulp运行报错:Task function must be specified必须指定任务函数
Posted 前端开发自留地
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了gulp运行报错:Task function must be specified必须指定任务函数相关的知识,希望对你有一定的参考价值。
运行gulp项目报错:AssertionError: Task function must be specified,那是因为你安装了gulp4.0.0,gulpfile.js用的是gulp3.9.1的语法。
package.json
gulpfile.js
AssertionError: Task function must be specified错误解决方案
npm i gulp@3.9.1重新安装gulp到3.91版
按gulp4.0.0重写gulpfile.js任务列表
延伸:
gulp4中创建的任务是一个异步的javascript函数——一个接受错误第一次回调或返回stream, promise, event emitter, child process, 或 observable观察的函数。
任务还可以被视为公共的或私有的。
公共任务是从您的gulpfile.js中exports导出的,这允许它们由gulp命令运行。
私有任务被设置为在内部使用,通常用作series()或parallel()组合的一部分。
私有任务看起来和其他任务一样,但最终用户无法独立执行它。要公开注册任务,请从您的gulpfile.js中exports导出该任务。
const { series } = require('gulp');
// The `clean` function is not exported so it can be considered a private task.
// It can still be used within the `series()` composition.
function clean(cb) {
// body omitted
cb();
}
// The `build` function is exported so it is public and can be run with the `gulp` command.
// It can also be used within the `series()` composition.
function build(cb) {
// body omitted
cb();
}
exports.build = build;
exports.default = series(clean, build);
从这里就可以看出对上文章标题:运行gulp项目报AssertionError: Task function must be specified错即必须指定任务函数。
不同与gulp3的还有gulp4中指定依赖任务,你需要使用gulp.series和gulp.parallel,因为gulp任务现在只有两个参数。
gulp.series按顺序执行任务
const { series } = require('gulp');
function transpile(cb) {
// body omitted
cb();
}
function bundle(cb) {
// body omitted
cb();
}
exports.build = series(transpile, bundle);
gulp.paralle最大并发性运行任务
const { parallel } = require('gulp');
function javascript(cb) {
// body omitted
cb();
}
function css(cb) {
// body omitted
cb();
}
exports.build = parallel(javascript, css);
关于更多gulp4请至https://gulpjs.com/docs/en/getting-started/creating-tasks查看
以上是关于gulp运行报错:Task function must be specified必须指定任务函数的主要内容,如果未能解决你的问题,请参考以下文章