如何在grunt插件中运行其他注册的grunt任务?

我正在编写一个grunt插件,这将有助于我经常使用的构build过程。 我通常最终做的是将GruntFile从项目复制/粘贴到项目中,但是我认为将它放入插件可能会更有用。 我在这个构build过程中使用的任务通常是繁重的任务,比如jshintcopycssminlesscssmin等等。 我想我可以清理我的Gruntfile.js文件,如果我可以创build一个插件,只是采取了一些configuration,并运行所有这些任务。

我目前的设置通常是这样的:

 grunt.initConfig({ jshint: {/* ... */}, copy: {/* ... */}, less: {/* ... */}, cssmin: {/* ... */}, uglify: {/* ... */} }); // Load and Register tasks... 

但我想减lessinitConfig是这样的:

 grunt.initConfig({ build: { dev: { paths: { public: 'public', source: 'source', bower: 'bower_components' }, options: { pretty: true, minify: false } } } }); 

这是可以从一个咕噜插件内完成的吗?

编辑:我发现了类似于我正在寻找的东西,但它似乎并不是所有的优雅,尤其是与我需要手动设置的所有configuration,但也许这是值得的。

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

在第一次编辑之后,我就可以使用在另一个问题上提出的解决scheme。 重点是它仍然缺less任务的加载,因为它们的用例不是来自插件内部。

我最终创build了一个包装我的解决scheme的npm模块,你可能会想看看:

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