Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
479 views
in Technique[技术] by (71.8m points)

gruntjs - Pass Options to a grunt task while running it

I thought there was a way to do this, and that I'd stumbled on it before. I have read these answers but they're not what I'm talking about:

Programmatically pass arguments to grunt task?

Grunt conditional option

Accessing the process / environment from a grunt template

I also looked at the grunt docs but it isn't there:

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

Is there a syntax like this?

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

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You can use that syntax but it means pass these arguments to the htmlmin task: allFiles, 'collapse=true'.

For example, given the following task:

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

Running:

grunt so:barley:test=true

Gives the following output:

barley, test=true

There are other ways to pass parameters/share info described in the faq: How can I share parameters across multiple tasks?

--Options may be applicable to you

Another way to share a parameter across multiple tasks would be to use grunt.option. In this example, running grunt deploy --target=staging on the command line would cause grunt.option('target') to return "staging".


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...