运行gulp时出现“必须在Gulp.set中指定任务功能”错误

时间:2018-12-21 07:55:29

标签: gulp

安装gulp时,我总是遇到相同的错误:

C:\Users\Thomas\Desktop\Sites CT Graphics\colpaertmarc.be>gulp
assert.js:350
throw err;
^
  

AssertionError [ERR_ASSERTION]:必须指定任务功能       在Gulp.set [作为_setTask](C:\ Users \ Thomas \ Desktop \ Sites CT Graphics \ colpaertmarc.be \ node_modules \ undertaker \ lib \ set-task.js:10:3​​)       在Gulp.task(C:\ Users \ Thomas \ Desktop \ Sites CT Graphics \ colpaertmarc.be \ node_modules \ undertaker \ lib \ task.js:13:8)       在对象。 (C:\ Users \ Thomas \ Desktop \ Sites CT Graphics \ colpaertmarc.be \ gulpfile.js:19:6)       在Module._compile(内部/模块/cjs/loader.js:689:30)       在Object.Module._extensions..js(内部/模块/cjs/loader.js:700:10)       在Module.load(internal / modules / cjs / loader.js:599:32)       在tryModuleLoad(内部/模块/cjs/loader.js:538:12)       在Function.Module._load(内部/模块/cjs/loader.js:530:3)       在Module.require(internal / modules / cjs / loader.js:637:17)       在要求时(internal / modules / cjs / helpers.js:22:18)

3 个答案:

答案 0 :(得分:1)

似乎与Gulp V4有关,有两个选择:

OR

  • 降级gulp版本

要降级,您需要将package.json更新为

"gulp": "^3.9.1",

然后删除node_module文件夹并重新安装npm软件包

rm -rf node_modules
npm install

答案 1 :(得分:1)

将gulp版本从 3。* 升级到 4。* 后,会发生此错误。 如果您不想降级gulp,则必须重写 gulp任务,以使其与 v4 API有效。这是如何将简单的gulp任务从 v3 中使用的api符号重写为与 v4 兼容的符号的示例。

Gulp v3

var gulp = require('gulp');

// Deleting resources task
gulp.task('clearResources', function() {
  console.log('Deleting resources');
});

// Default gulp task
gulp.task('default', ['clearResources'], function() {
  console.log('Running default task');
});

Gulp v4

var gulp = require('gulp');

// Delete resources function
function clearResources() {
  console.log('Deleting resources');
};

// Gulp task(s)
exports.clear = clearResources;
exports.default = gulp.series(clearResources);

答案 2 :(得分:0)

GULP 4

const { series, parallel } = require('gulp');

gulp.task('clear', gulp.series( async function(){
  // your code
}));

gulp.task('build', gulp.series( async function(){
  // Your code
}));

gulp.task('watch', function(){
  gulp.watch('./javascripts/**/*.js', gulp.series('clear','build'));
});

gulp.task('default', gulp.series('clear','build','watch'));

当我将gulp版本从^ 3.9.1升级到^ 4.0.2时,它起作用了。也许这段代码会为您提供帮助。