我如何从一个咕task任务中运行一个咕噜任务?

我创build了一个新的grunt任务,在其中我想使用grunt-contrib-concat来连接几个文件。

我查看了文档,但是我没有发现任何暗示能够做到的事情。 这似乎是一个微不足道的用例,所以我可能只是在看什么。

更新1:

我也希望能够从我的自定义任务中configuration此任务。

例如,我在我的自定义任务中创build了一个文件列表。 有了这个列表之后,我想把它们传递给concat任务。 我怎样才能做到这一点?

我希望能够做到这样的事情。

grunt.task.run('concat', { src: ['file1','file2'], dest: 'out.js'}) 

更新2:

为了达到我想要的,我必须手动configurationgrunt任务。 这是一个例子,显示我想要什么。

https://github.com/gruntjs/grunt-contrib/issues/118#issuecomment-8482130

以下是在任务中手动configuration任务然后运行的示例。

https://github.com/gruntjs/grunt-contrib/issues/118#issuecomment-8482130

  grunt.registerMultiTask('multicss', 'Minify CSS files in a folder', function() { var count = 0; grunt.file.expandFiles(this.data).forEach(function(file) { var property = 'mincss.css'+count+'.files'; var value = {}; value[file] = file; grunt.config(property, value); grunt.log.writeln("Minifying CSS "+file); count++; }); grunt.task.run('mincss'); }); 

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

 grunt.registerTask('foo', 'My "foo" task.', function() { // Enqueue "bar" and "baz" tasks, to run after "foo" finishes, in-order. grunt.task.run('bar', 'baz'); // Or: grunt.task.run(['bar', 'baz']); }); 

对阿龙来说,指出我们正确的方向来解决他自己的问题。 grunt.config是上面例子的关键。 该任务将覆盖browserify任务的src属性

任务定义:

  grunt.registerTask('tests', function (spec) { if (spec) { grunt.config('browserify.tests.src', spec); } grunt.task.run(['jshint', 'browserify:tests', 'jasmine']); }); 

任务调用:

 grunt tests 

要么

 grunt tests:somewhere/specPath.js 

如果你感觉很懒,我最终发布了一个npm模块,将你的任务的configuration转发到你想运行的子任务:

https://www.npmjs.org/package/extend-grunt-plugin