Javascript 使用grunt检查任务是否存在<;4.5

Javascript 使用grunt检查任务是否存在<;4.5,javascript,gruntjs,Javascript,Gruntjs,我知道他们在grunt的4.5版本中添加了task.exists函数。是否有任何方法可以在旧版本中实现同样的效果 // Fictional example grunt.registerTask('build', function (target) { target = target || 'stage'; grunt.task.run([ 'clean:dist', 'copy:dist', ]); if (grunt.ta

我知道他们在grunt的4.5版本中添加了task.exists函数。是否有任何方法可以在旧版本中实现同样的效果

// Fictional example

grunt.registerTask('build', function (target)
{
    target = target || 'stage';

    grunt.task.run([
        'clean:dist', 
        'copy:dist',
    ]);

    if (grunt.task.exists('replace.' + target)) {
        grunt.task.run(['replace:' + target]);
    }

});

看看git对该功能的请求,并应用monkey补丁:github.com/gruntjs/grunt/issues/1047

if (!grunt.task.exists) {
  grunt.task.exists = function exists (name) {
    return _.include(_.pluck(grunt.task._tasks, 'name'), name);
  };
}

我假设您已经阅读了这个功能的git请求,您不会使用grunt.config吗@奥维:谢谢你的链接。我试过了。它似乎不适用于“replace”、“replace.actual_target”或grunt 4.1中的“task.replace”。它们总是未定义的。