(与Gulp 4.0 / ES6有关)
我想创建一个任务文件,该文件可以由主gulpfile.js导入,也可以使用gulp从命令行直接运行(在这种情况下,甚至无需在命令行上引用gulpfile.js文件)。这可能吗?
我可以创建一个可以直接运行的gulp任务文件:
task-a.js:
const log = require('fancy-log');
function taskA(done){
// do stuff
log('Executing task A');
done();
}
exports.default = taskA;
从命令行运行:
gulp -f task-a.js
[17:53:21] Using gulpfile C:\app\task-a.js
[17:53:21] Starting 'default'...
[17:53:21] Executing task A
[17:53:21] Finished 'default' after 2.73 ms
好的,看起来不错。
为了导入到gulpfile.js中,我需要将task-a.js中的导出修改为:
task-a.js:
// modified the exports for require()
module.exports taskA;
gulpfile.js:
const taskA = require('./task-a');
gulp.task('default', taskA);
gulp -f gulpfile.js
好的,这也可以。
但是是否可以更改task-a.js中的导出以允许导入并使用gulp从命令行运行?
答案 0 :(得分:0)
将task-a.js中的函数导出为任务的一种方法:
gulp.task('default', taskA);
module.exports = gulp.series('default');
这确保gulpfile.js可以将函数作为组合操作导入。