运行时将选项传递给grunt任务

时间:2013-09-04 21:04:09

标签: gruntjs

我以为有办法做到这一点,我以前偶然发现了它。 我已经阅读了这些答案,但它们并不是我所说的:

Programmatically pass arguments to grunt task?

Grunt conditional option

Accessing the process / environment from a grunt template

我也查看了咕噜咕噜的文档,但它不存在:

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

有这样的语法吗?

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

1 个答案:

答案 0 :(得分:53)

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

例如,给定以下任务:

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

运行:

grunt so:barley:test=true

提供以下输出:

barley, test=true

还有其他方法可以传递常见问题解答中描述的参数/共享信息:How can I share parameters across multiple tasks?

--Options可能适用于您

  

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