前端版本控制 和change log
1.package.json配置
{
"name": "myproject2",
"version": "1.5.4",
"description": "",
"main": "dist/app.js",
"scripts": {
"precommit": "node -v",
"dev": "wepy build --watch",
"qa": "NODE_ENV=qa wepy build --no-cache"
"build": "cross-env NODE_ENV=production V=$v S=$s wepy build --no-cache",
"test": "echo \"Error: no test specified\" && exit 1",
"version": "V=$v node version.js"
}
}
執行時:
(s=3 v=1.5.1 npm run build)
s為介面版本引數 v為版本號
執行時進行介面版本替換 使用replace外掛替換版本
// 判定現在的環境
const env = process.env.NODE_ENV === 'production' ? 'prod' : 'dev'
// 版本號
const version = __VERSION__ || '開發環境'
// 多環境介面 url
const baseUrl = {
// dev: 'https://exam.zmgongzuoshi.top/api/v1',
prod: 'https://exam.sunlands.site/api/s__SVERSION__'
dev: 'https://exam.sunlands.site/api/s1'
}
2.version.js(npm run version)
讀取檔案 寫入檔案 將package.json中的version動態修改
const fs = require('fs')
const version = process.env.V
fs.readFile('./package.json', (err, data) => {
if (err) throw new Error(err)
data = JSON.parse(data.toString())
data.version = version
data = JSON.stringify(data, null, 2)
fs.writeFileSync('./package.json', data)
return true
})
3.change log(npm run changelog)
conventional-changelog 就是生成 Change log
$ npm install -g conventional-changelog
配置package.json
{
"scripts": {
"changelog": "conventional-changelog -p angular -i CHANGELOG.md -w -r 0"
}
}