将任务文件导出到gulpfile.js并在命令行上运行

时间:2019-04-03 01:24:52

标签: gulp

(与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从命令行运行?

1 个答案:

答案 0 :(得分:0)

将task-a.js中的函数导出为任务的一种方法:

gulp.task('default', taskA);

module.exports = gulp.series('default');

这确保gulpfile.js可以将函数作为组合操作导入。