将节点版本传递给 grunt-exec
Passing node version to 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 上查找后,我找到了帮助我进行一些修改的完美模块:
使用 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
]);
有人知道如何将当前节点版本传递给 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 上查找后,我找到了帮助我进行一些修改的完美模块:
使用 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
]);