将节点版本传递给grunt-exec

时间:2015-08-26 00:50:51

标签: javascript node.js gruntjs grunt-exec

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

grunt.registerTask()

grunt.registerTask('default', [ 'exec:mocha:$(node version)' ]); 中,我尝试过使用像这样的bash命令

grunt-node-version

但当然不会那样。

我看过像{{1}}这样的插件,但缺少一个实际的例子并没有多大帮助。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

在npmjs.com上查阅后,我发现了一个完美的模块,帮助我做了一点点黑客攻击:

使用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
      ]);