33

我认为有一种方法可以做到这一点,而且我以前偶然发现过它。我已经阅读了这些答案,但它们不是我要说的:

以编程方式将参数传递给 grunt 任务?

Grunt 条件选项

从 grunt 模板访问进程/环境

我还查看了 grunt 文档,但它不存在:

https://github.com/gruntjs/grunt/wiki/Configuring-tasks

有这样的语法吗?

grunt.task.run 'htmlmin:allFiles:collapseWhitespace=true'

4

1 回答 1

61

您可以使用该语法,但这意味着将这些参数传递给 htmlmin 任务:allFiles, 'collapse=true'.

例如,给定以下任务:

grunt.registerTask('so', function(arg1, arg2) {
   console.log(arg1 + ", " + arg2); 
}); 

跑步:

grunt so:barley:test=true

给出以下输出:

barley, test=true

常见问题解答中描述了传递参数/共享信息的其他方法:如何跨多个任务共享参数?

--选项可能适用于您

在多个任务之间共享参数的另一种方法是使用grunt.option. 在此示例中,grunt deploy --target=staging在命令行上运行将导致grunt.option('target')返回“staging”。

于 2013-09-04T21:32:59.077 回答