检测当前运行的应用是否是最新版本,如若不是,则提醒刷新以使用新版本。
yarn add @femessage/update-popup
你需要通过环境变量 UPDATE_POPUP_VERSION
来传入版本号,后续每次迭代更新只需要修改比当前大的版本号即可。
环境变量
# .env
UPDATE_POPUP_VERSION=1.0.0 # 如果有必要,可以支持更多位数。如:1.0.0.1,1.0.0.1.1
也可以使用 options.auto 来实现自动更新版本。
工程配置文件
// nuxt.config.js
const config = {
modules: ['@femessage/update-popup/nuxt', {options}]
}
// vue.config.js 或者 poi.config.js
const UpdatePopup = require('@femessage/update-popup')
const config = {
chainWebpack: config => {
config.plugin('femessage-update-popup').use(UpdatePopup, [{options}])
}
}
就这么简单!
- Type:
string
- Default:
webpackConfig.output.publicPath
- Reference: webpack publicPath
使用独立的 publicPath,一般情况下不需要设置此参数。
- Type:
boolean
- Default:
false
是否需要自动更新版本,需要配合 options.versionType
一起使用。
注意:开启此功能,环境变量 UPDATE_POPUP_VERSION
则不会再生效。
- Type:
'timestamp' | 未来支持更多
- Default:
timestamp
自动生成的 version 的方式,可选值:
-
timestamp
:使用当前时间戳,它看上去是这样的:
1603184005919.0.0
,把时间戳放在版本号的第一位,是为了保证无论如何都会大于已有的版本。注意:这将失去版本语义化的控制。
- Type:
boolean
- Default:
true
是否自动添加到 webpack 入口文件,一般情况下不需要设置此参数。
如果设置为 false
需要手动将 @femessage/update-popup/app/main
注入到你的代码中。
何时需要设置此参数请参阅 Notice.QianKun(乾坤)。
- Type:
string
- Default:
'UPDATE_POPUP_VERSION'
指定获取环境变量的 key 。e.g. process.env.UPDATE_POPUP_VERSION=1.0.0
- Type:
string
- Default:
'update_popup_version.txt'
版本号文件名。
此插件会自动生成一个普通的 js 文件并添加到 webpack 入口文件中,
但由于子应用的入口文件需要 导出生命周期钩子 的要求,
因此需要禁止自动添加入口文件,则做如下的调整:
调整工程配置文件
# nuxt.config.js
const config = {
- modules: ['@femessage/update-popup/nuxt']
+ modules: [['@femessage/update-popup/nuxt'], { inject: false }]
}
# vue.config.js 或者 poi.config.js
const config = {
chainWebpack: config => {
config.plugin('update-popup').use(UpdatePopup, [{
+ inject: false
}])
}
}
最后在你的子应用入口文件添加
+ import '@femessage/update-popup/app/main'
For those who are interested in contributing to this project, such as:
- report a bug
- request new feature
- fix a bug
- implement a new feature
Please refer to our contributing guide.
Thanks goes to these wonderful people (emoji key):
EVILLT 💻 |
This project follows the all-contributors specification. Contributions of any kind welcome!