Grunt clean - 在其他子任务下使用一个子任务

时间:2017-12-09 09:23:44

标签: gruntjs

我在 grunt-clean

下有4个子任务
clean: {
    options: {force: true},
    lib: ['demo/client/lib'],
    jsTeamplate: ['src/js/*.template.js'],
    scripts:['dist/js'],
    scss:['src/css/*','dist/css']
},

我想在其他2个子任务下使用子任务库 - scss和脚本

它应该如何工作:每当调用clean:scss时,首先它应该清理它的文件然后它应该运行clean:lib

clean:scripts

采用相同的工作流程

1 个答案:

答案 0 :(得分:0)

您可以利用grunt.registerTask()来实现这一目标。

文件摘录如下:

  

如果指定了任务列表,则新任务将成为一个或多个其他任务的别名。每当运行此“别名任务”时,将按指定的顺序运行taskList中的每个指定任务。 taskList参数必须是任务数组。

根据您的要求,在Gruntfile.js中注册以下几项其他任务:

<强> Gruntfile.js

// ...

grunt.registerTask('foo', [ 'clean:scss', 'clean:lib' ]);

grunt.registerTask('quux ', [ 'clean:scripts', 'clean:lib' ]);

// ...

运行任务

然后通过CLI而不是$ grunt clean:scss运行以下命令:

$ grunt foo

...上面的命令将运行clean:scss目标,然后运行clean:lib目标

$ grunt quux

...上面的命令将运行clean:scripts目标,然后运行clean:lib目标