【问题标题】:Exporting a task file to gulpfile.js and run on command line将任务文件导出到 gulpfile.js 并在命令行上运行
【发布时间】:2019-08-24 10:13:25
【问题描述】:

(适用于 Gulp 4.0/ES6)

我想创建一个可以由 main 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 从命令行运行?

【问题讨论】:

    标签: gulp


    【解决方案1】:

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

    gulp.task('default', taskA);
    
    module.exports = gulp.series('default');
    

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

    【讨论】:

      猜你喜欢
      • 2016-12-31
      • 2013-06-28
      • 2014-07-03
      • 1970-01-01
      • 2013-01-15
      • 1970-01-01
      • 1970-01-01
      • 2020-01-08
      • 2019-10-27
      相关资源
      最近更新 更多