1.0.12 • Published 4 years ago

version-patch-webpackplugin v1.0.12

Weekly downloads
5
License
ISC
Repository
github
Last release
4 years ago

Version Patch WebpackPlugin


一个提供自动生成版本号信息的webpack插件

Install

npm i --save-dev version-patch-webpackplugin

yarn add --dev html-webpack-plugin

插件默认会在webpack mode:production时,检查output目录下的version.json文件。不存在,则初始化生成。存在则追加一个版本信息对象。

版本信息对象

属性说明类型默认值
time本次生成版本文件的时间字符串string当前时间
number在上次版本号基础上叠加string0.0.00

可选的插件配置选项

属性说明类型默认值可选值
fileName版本文件名称,必须为jsonstringversion.json-
fileNamePrefix文件名前缀string''-
reWrite是否重写版本文件booleanfalse-
useKey决定版本号取时间还是数字stringnumbertime,number
timeFormat可被解析的时间格式字符串stringYYYY-MM-DD hh:mm:ss-
numberSeed初始化版本号string0.00.00-
numberStep每次递增的值string0.00.01-
ignoreMode忽略环境变量mode, 所有环境下都会生成版本信息, 测试用booleanfalse

Usage


webpack.config.js

const VersionPatchPlugin = require('version-patch-webpackplugin')
module.exports = {
    mode: 'production',
    entry:'./src/index.js',
    output: {
        filename: 'index.js',
        path: path.resolve(__dirname, 'dist')
    },
    plugins: [
        new VersionPatchPlugin(),
    ]
}

一切正常,会在dist目录下产生一个version.json文件, 格式如下

    [{
      {"time":"2020-02-57 07:09:55","number":"0.0.00"}
    }]

之后每次build push 一个新对象,number会根据设置的numberStep递增,time为根据timeformat的当前时间格式化字符串。 版本信息也将挂载在window对象下

    window._version = 0.0.00
    window._versionHistory =  [{
      {"time":"2020-02-57 07:09:55","number":"0.0.00"}
    }]
    注意如果dist没有version.json文件且在开发环境下
    window._versionHistory = [] 
    window._version = null

如果项目使用了clean-webpack-plugin, 请忽略version.json文件,配置如下

    new CleanWebpackPlugin({
        cleanOnceBeforeBuildPatterns:['**/*,', '!version.json'],
    })
1.0.12

4 years ago

1.0.11

4 years ago

1.0.10

4 years ago

1.0.9

4 years ago

1.0.8

4 years ago

1.0.7

4 years ago

1.0.6

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago