【Node】node获取代码的svn版本号

思路

  • 通过调用命令行工具,利用svn info得到所有的svn信息,然后提取版本号
    【Node】node获取代码的svn版本号_第1张图片

异步获取 : node-cmd

  • 包信息会作为回调函数的参数被返回(cbDataSvn)
var async = require('async');
var cmd = require('node-cmd');

cmd.get('svn info', function (err, cbDataSvn, stderr) {
        if (err) {
          throw new Error('获取svn版本号失败', err);
        }
        var svnVersion = cbDataSvn.split('\n')[6].match(/\d+/ig)[0]
        console.log(svnVersion)

        callback(null, svnVersion);

      }
    )

同步获取

  • 这个真的费了我老大劲儿了,各种找第三方的npm包,什么child-process, cross-spawn, node-cmd, spawn-sync,都是异步的方法实现的,要不然就直接返回一个cmd进程包??(总之不是我们要的dos中输出的结果信息数据)
  • 偶然在阮大神的博客碰到shelljs,一试可以同步!天助我也!
    附上链接
var shell = require("shelljs");

function getSvnVersion() {
  var name = shell.exec("svn info").split('\n')[6].match(/\d+/ig)[0];
  return name
}

你可能感兴趣的:(NodeJS)