本來想着用gulp搭建一個自動化構建工具,結果一頓報錯,后來發現我重新安裝的gulp版本是4.0.0,與3版本還是不太一樣的,遂記之。
Gulp 3版本Demo:
const gulp = require('gulp');
// 設定一個任務
gulp.task('hello',() => {
console.log('print hello');
});
// 再設定一個任務
gulp.task('world',() => {
console.log('print world');
});
// 設置一個默認的任務
gulp.task('default',['hello','world']);
但用上述語句在Gulp4中會報錯:
assert.js:350
throw err;
^
AssertionError [ERR_ASSERTION]: Task function must be specified
at Gulp.set [as _setTask] (C:\Users\zxq\Desktop\gulpCourse\node_modules\_undertaker@1.2.0@undertaker\lib\set-task.js:10:3)
at Gulp.task (C:\Users\zxq\Desktop\gulpCourse\node_modules\_undertaker@1.2.0@undertaker\lib\task.js:13:8)
at Object.<anonymous> (C:\Users\zxq\Desktop\gulpCourse\gulpfile.js:26:6)
at Module._compile (internal/modules/cjs/loader.js:688:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:699:10)
at Module.load (internal/modules/cjs/loader.js:598:32)
at tryModuleLoad (internal/modules/cjs/loader.js:537:12)
at Function.Module._load (internal/modules/cjs/loader.js:529:3)
at Module.require (internal/modules/cjs/loader.js:636:17)
at require (internal/modules/cjs/helpers.js:20:18)
Gulp 4中的正確寫法(結合async 和 await):
const gulp = require('gulp');
gulp.task('hello', async() => {
await console.log('print hello');
});
gulp.task('world', async() => {
await console.log('print world');
});
gulp.task('default',gulp.series(gulp.parallel('hello','world')));
