我有一个简单的安装gulp livereload:
口香糖 assert.js:42 引发新错误.AssertionError({ ^
AssertionError [ERR_ASSERTION]:必须指定任务功能 在Gulp.set [as _setTask](c:\ testjses6 \ node_modules \ undertaker \ lib \ set-task.js:10:3) 在Gulp.task(c:\ testjses6 \ node_modules \ undertaker \ lib \ task.js:13:8) 在对象。 (c:\ testjses6 \ gulpfile.js:21:6) 在Module._compile(module.js:652:30) 在Object.Module._extensions..js(module.js:663:10) 在Module.load(module.js:565:32) 在tryModuleLoad(module.js:505:12) 在Function.Module._load(module.js:497:3) 在Module.require(module.js:596:17) 在要求时(internal / module.js:11:18)
答案 0 :(得分:3)
您遇到的问题是您正在使用gulp v4.0
语法运行gulp 3
。 AssertionError: Task function must be specified
错误来自gulp.task
已更改且3个参数签名已被删除的事实。简而言之,将需要更改以下任务,以删除[]
参数:
gulp.task('default', ['build'], function () {
return runSequence(['watch', 'karma-watch']);
});
This article将帮助您迁移到gulp 4
语法。
如果您想简单地解决问题,而不必更改gulpfile.js
,请运行以下命令将gulp
的版本从版本4降级到{{1} }:
3.9.1
假设一切顺利,您应该不再看到Assertion错误。
答案 1 :(得分:0)
gulp 4使用旧的实现会产生很多问题,请修改您的任务声明:
旧语法:
gulp.task('a', ['b', 'c'], function () { // do something })
新语法:
gulp.task('a', gulp.series(gulp.parallel('b', 'c'), function () { // do something }))
希望这对某人有帮助,我花了数小时进行故障排除后才发现它。