将节点版本传递给grunt-exec



有人知道如何将当前节点版本传递到grunt-exec吗?目前我有grunt exec设置如下:

grunt.initConfig({
    exec:{
      mocha: {
        cmd:function(version){
          if(semver.gt(version, '0.10')){
            return 'mocha test/index.js';
          } else return 'mocha --harmony test/harmony/index.js';
        }
      }
    }
  });

grunt.registerTask()中,我尝试使用bash命令,如

    grunt.registerTask('default', [
    'exec:mocha:$(node version)'
  ]);

但是它当然不是这样的

我已经看了插件,如grunt-node-version,但缺乏一个实际的例子没有多大帮助。

有什么建议吗?

在查阅了npmjs.com之后,我找到了一个完美的模块,帮助我做了一个小hack:

使用node-version,我能够将版本传递到函数中,并让semver决定它是否大于某个版本,如下所示:

var version = new (require('node-version').version);
    version = version.getVersion();
    grunt.initConfig({
        exec:{
          mocha: {
            cmd:function(version){
              if(semver.lt(version.toString(), '0.11.0')){
                return 'mocha test/index.js';
              } else return 'mocha --harmony test/harmony/index.js';
            }
          }
        }
     });
     grunt.registerTask('default', [
        'exec:mocha:' + version.long
      ]);

最新更新