child_process
child_process
模块提供了衍生子进程的能力,用于在node 环境中执行子进程和其他操作,比如执行.cmd, .bat 和 shell 脚本。
Node.js v12.13.0 文档 child_process
这里可用 API child_process.exec(command[, options][, callback])
和 child_process.execSync(command[, options])
来获取 git
仓库信息。
git name-rev --name-only HEAD
git-name-rev
- 查找给定转速的符号名称
git name-rev --name-only HEAD
这个命令会在终端输出你当前的版本或标签信息。
git name-rev --name-only HEAD
===> test
git name-rev --name-only HEAD
===> v4.3.1
组合使用
//同步子进程
const version = child_process.execSync('git name-rev --name-only HEAD', { 'encoding': 'utf8' });
===> v4.3.1
//异步子进程
const childProcess = require('child_process');
const getVersion = () => {
return new Promise((resovle, reject) => {
childProcess.exec(`git name-rev --name-only HEAD`, { encoding: 'utf-8' }, (stdout, error, status, output) => {
error ? reject(error) : resovle(stdout)
});
})
}
getVersion().then(res => {
console.log(res)
}).catch(e => {
console.log(e)
})