1. 程式人生 > >前端版本控制 和change log

前端版本控制 和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"

  }

}