Vue 將git版本信息加入包及包名中


例:

 執行npm run build 后生成的包名不是默認dist 而是git的版本號名(包含tag和最后一次提交信息)

使用依賴包:npm install --save-dev git-revision-webpack-plugin

配置vue.config.js文件

// const port = 8080;
const path = require("path");
var webpack = require("webpack");
const GitRevisionPlugin = require("git-revision-webpack-plugin");
const gitRevisionPlugin = new GitRevisionPlugin();
const resolve = dir => path.join(__dirname, dir);
gitRevisionPlugin.versionCommand = "describe --always --tags";
const outputDirData = gitRevisionPlugin.version(); // 獲取版本號
console.log(outputDirData);
module.exports = {
  publicPath: "./",
  assetsDir: "static",
  outputDir: outputDirData, // 替換默認的dist文件名
  configureWebpack: {
    plugins: [
      new GitRevisionPlugin({
        commithashCommand: "rev-list --max-count=1 --no-merges HEAD",
        versionCommand: "describe --always --tags",
        branchCommand: "rev-parse --symbolic-full-name HEAD"
      }),
      new webpack.DefinePlugin({
        VERSION: JSON.stringify(gitRevisionPlugin.version()),
        COMMITHASH: JSON.stringify(gitRevisionPlugin.commithash()),
        BRANCH: JSON.stringify(gitRevisionPlugin.branch())
      })
    ],
    output: {
      filename: "[name]-[git-revision-hash].js"
      // chunkFilename: `[name]-[git-revision-hash].js`
    }
  },
  chainWebpack: config => {
    config.resolve.alias.set("@", resolve("src"));
  },
  css: {
    modules: false,
    extract: true,
    sourceMap: false,
    loaderOptions: {}
  }
  // devServer: {
  //   host: "0.0.0.0",
  //   port: port,
  //   open: false,
  //   https: false,
  //   disableHostCheck: true,
  //   proxy: {}
  // }
};

本地查看git-describe的內容:git describe --tags --always 

查看結果:v1.1-3-gca69c46

參考依賴包官網:http://npm.taobao.org/package/git-revision-webpack-plugin


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM