实际中,咱们常常要通过流水线、主动脚本等公布前端代码到服务器。有时候难以分辨到底公布胜利了没。或者多人、多分支共用一个环境时,更是容易凌乱打架。

测试、开发都哭了。

如何迅速分别以后页面代码是什么版本?咱们能够自行用webpack.DefinePlugin注入信息到全局。

也能够用version-plugin,一键搞定,成果如下:

以下为插件文档:

version-plugin

用于注入版本信息到我的项目代码中的webpack插件。

https://www.npmjs.com/package...

开始

首先装置 version-plugin:

npm install version-plugin -D

而后在webpack配置中退出VersionPlugin相干配置:

webpack.config.js

const VersionPlugin = require('version-plugin');module.exports = {  plugins: [new VersionPlugin()]};

运行 npm run devnpm run build, version-plugin 会在我的项目中注入全局变量 VERSION_INFO

选项

插件选项

变量名类型默认值形容
name{String}VERSION_INFO注入到全局中的变量名
mode{'all'|String|Array}development指定在哪些webpack模式中启用
dataOption{Object}{}具体的版本信息配置

mode

基于平安理由,Version Plugin默认只在development mode中启用。改成all的话就会在所有模式中启用,也能够传入指定mode名字或数组。

dataOption

Version Plugin 会默认注入 git_branchgit_commit_hash 两项版本信息。

还有以下信息供选用:

git_commit_fullhashgit_commit_timegit_commit_authorgit_commit_commitergit_commit_messagepackage_versionbuild_time

把这些信息设置为 true 就会启用, 传 String / Number 值或者函数的话,会覆写掉默认值。 除了以上9项信息,也能够自行传扩大字段。

示例:

new VersionPlugin({  name: '_v_',  mode: ['production', 'development'],  dataOption:{    git_commit_hash: false,    git_commit_fullhash: true,    git_commit_author: true,    package_version: () => '1.0.0',    extra_data_foo: 'extra_data_bar'  }})

而后看浏览器控制台:

// window._v_{  git_branch: "develop",  git_commit_fullhash: "c3252175510b100a4a139f2af4b3f73ef753483a",  git_commit_author: 'LiPinghai',  package_version: "1.0.0",   extra_data_foo: "extra_data_bar"}