0

对某人来说是一个繁琐的语法问题 - 似乎无法在他们的文档中找到答案。假设我有一个像这样设置的 grunt 任务:

grunt.registerTask('prod', [
    'clean',
    'md5:requireJS',
    'handlebars',
    'md5:cssFile',
]);

我需要在它的末尾执行一些任意代码,例如

grunt.registerTask('prod', [
    'clean',
    'md5:requireJS',
    'handlebars',
    'md5:cssFile',
    function() { ... }
]);

从语法上讲,创建一个新目标似乎没有任何用处,因为它只是一个对象,而不是一个函数。任何的想法...?我在这里吠错树了吗?

(谢谢!) - 本

4

2 回答 2

1

注册一个要在最后运行的任务:

grunt.registerTask('end', function() {
  grunt.log.writeln('Im doing things at the end');
  /* ... */
});

grunt.registerTask('prod', [
    'clean',
    'md5:requireJS',
    'handlebars',
    'md5:cssFile',
    'end'
]);
于 2013-10-16T02:53:03.423 回答
0

没关系,我找到了解决方法。我找到了 grunt-exec 任务,它真的是用来运行 shell 脚本的。我把它混为简单的运行 JS,例如

exec: {
    arbitraryJS: {
        cmd: function() {
            // do stuff

            // needed for the task
            return "";
        }
    }   
}

然后将“exec:arbitraryJS”添加到我的任务列表的末尾。

于 2013-10-15T21:14:05.117 回答