# 版本输出

输出当前版本,包括构建信息、最后一次提交信息。

# 如何使用

安装

pnpm add @plugin-light/webpack-plugin-gen-version -D

vue.config.js 中添加如下设置:

const {
  GenVersionWebPlugin,
  GenVersionMpPlugin,
} = require('@plugin-light/webpack-plugin-gen-version');

const plugins = []

if (process.env.VUE_APP_PLATFORM !== 'h5') {
  plugins.push(new GenVersionMpPlugin());
} else {
  plugins.push(new GenVersionWebPlugin());
}

module.exports = {
  configureWebpack: {
    plugins,
  }
}

# 参数

export type IGenVersionOptions = {
  // 传入 buildName 时,会将构建信息插入到 buildName 中
  buildName?: string;

  // 传入 commitName 时,会将最后一次提交信息插入到 commitName 中
  commitName?: string;

  // 延迟打印时间,单位 ms,默认 10
  delay?: number;
};

对于web端的插件 GenVersionWebPlugin,可以选择通过console.log输出,或者插入到window的一个属性中。挂载在window中相对隐蔽,不容易泄漏开发相关信息。

默认输出示例:

<script>
try {
  setTimeout(() => {   
    console.info('[system]', '');
    console.info('[system]', 'Build Time: 2023-08-21 10:10:35');
    console.info('[system]', 'Build Author: xx');
    console.info('[system]', 'Build Branch: release');
    console.info('[system]', 'Build Net Env: ');
        
    console.info('[system]', '');
    console.info('[system]', 'Last Commit Message: xx');
    console.info('[system]', 'Last Commit Author: xx');
    console.info('[system]', 'Last Commit Time: 2023-08-21 10:03:42');
    console.info('[system]', 'Last Commit Hash: xx');
  }, 10);
} catch(err) {}
</script>

当传入buildName时,会将构建信息插入到buildName中。

当传入commitName时,会将最后一次提交信息插入到commitName中。

输出示例:

<script>
try {
  setTimeout(() => {   
    window._vConsoleBuildInfo = {
      time: '2023-08-21 11:54:12',
      author: 'yang',
      branch: 'feature/hor',
      netEnv: '',
    }
        
    window._vConsoleCommitInfo = {
      message: 'xx',
      author: 'xx',
      date: '2023-08-18 19:24:15',
      hash: 'xx',
    }
  }, 1);
} catch(err) {}
</script>
Last Updated: 2024/10/12 08:54:40