检测当前运行的应用是否是最新版本,如若不是,则提醒刷新以使用新版本。
yarn add @femessage/update-popup
你需要通过环境变量 UPDATE_POPUP_VERSION
来传入版本号,后续每次迭代更新只需要修改比当前大的版本号即可。
环境变量
# .env
UPDATE_POPUP_VERSION=1.0.0
工程配置文件
// nuxt.config.js
const config = {
modules: ['@femessage/update-popup/nuxt']
}
// vue.config.js 或者 poi.config.js
const UpdatePopup = require('@femessage/update-popup')
const config = {
chainWebpack: config => {
config.plugin('femessage-update-popup').use(UpdatePopup)
}
}
就这么简单!
- Type:
string
- Default:
webpackConfig.output.publicPath
- Reference: webpack publicPath
使用独立的 publicPath,一般情况下不需要设置此参数。
- 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!