咕噜声 – 是否有可能只有一次运行的任务?

有一个特殊的任务,我只想运行一次,然后保证它永远不会再运行。 有没有人做过这个? 我正在考虑使用grunt.event.once(…),或者在postinstall上使用shell脚本检测文件夹或文件,但是这两种方式都会在gruntfile.js中留下任何可能随时被覆盖的任务文件。

在一个非常简单的层面上,它会做这样的事情:

grunt.registerTask('setup', [ 'mkdir' // run some setup tasks ]); grunt.event.once('setup', function() { // some how do what's below here so it can't be done again // so not available in config for reuse and possibly overwriting // modified files grunt.task.run([ 'bowercopy:src_codeigniter' ]); }); 

这甚至可能在Grunt? 我知道这只是一个任务跑步者,在这种情况下,我只是想让它跑一次。

有几个库允许您通过API访问Gruntfile的内容,因此您可以使用其中的一个在第一次运行后更改您的setup任务的configuration。

Gruntfile编辑器Gruntfile API

虽然他们都不支持完整的任务删除,你可以随时修改你的任务configuration。