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

Posted zigood

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

以上是关于Vue 将git版本信息加入包及包名中的主要内容,如果未能解决你的问题,请参考以下文章

4.7-Mastering ROS-包及包管理

如何通过单击适配器类中代码的项目中的删除按钮来删除列表视图中的项目后重新加载片段?

用 Eclipse 下载 Git 仓库中代码

最近项目中代码管理学习

最近项目中代码管理学习

vue(element)中代码高亮插件全面对比