安装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)
答案 0 :(得分:1)
似乎与Gulp V4有关,有两个选择:
OR
要降级,您需要将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 兼容的符号的示例。
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');
});
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时,它起作用了。也许这段代码会为您提供帮助。