有人知道如何将当前节点版本传递到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
]);