1、在项目根目录下新建一个名为preBuild.js的脚本文件,内容如下:
const child_process = require('child_process');
const fs = require('fs');
let commitId = child_process.execSync(`git log -n1 --format=format:"%H"`).toString();
let branch = child_process.execSync(`git branch --show-current`).toString().trim();
let commitTime = child_process.execSync(`git log -n1 --pretty=format:"%ad" --date=iso`).toString().substring(0, 19);
let j = {commitId, branch, commitTime}
fs.writeFileSync('./public/git_info.json', JSON.stringify(j));
console.log('========== Save git info done. ==========');
注意:./public/git_info.json是生成版本信息文件的目录与文件名称
2、修改package.json文件的打包命令为:"node preBuild.js && vue-cli-service build"
image.png
3、在终端输入打包命令:npm run build,在项目根目录下的public目录下会生成一个git_info.json文件,同时在打包的dist目录下也会生成一个git_info.json文件,文件内容如下:
{"commitId":"0744c99ca7651d969871e94780b920d9f1909b4d","branch":"master","commitTime":"2022-02-25 16:07:42"}