页面不整个刷新的情况下,如何加载变化的模块js
粉丝福利 : 关注VUE中文社区公众号,回复视频领取粉丝福利
1,我采用的是异步组件
2,提出的公共js模块叫shared.js
3,webpack.config.js中的输出配置
output: {
publicPath:"dist/js/",
path: path.join(__dirname, 'dist/js'),
filename: '[name].js',
chunkFilename:'[name].[chunkhash].js'
},
问题:编译后的js的hash变了,这种变化在shared.js中,但shared.js是用script标签在index.html中引入的,如何能在浏览器不整个刷新的情况下,能更新加载chunkhash变化的js。
追加说明:
1,后台没用webpack-dev-server,用的iis。
2,所谓的整个刷新是指点击浏览器左上的刷新按钮或F5.
3,webpack html plugin是可以自动生成html,把最新的js引入的html中。
我的问题是,比如异步的时候,编译出main.XXXXX.js,(X为hash的意思),然后index.html中会有script的对应引入。假如main.js变成了main.YYYYY.js,当然通过编译,index.html中script的src会相应的改变。
但这种改变如何让浏览器知道,比如更新前我已经打开了某个页面。后台变化了,前台因为有缓存,获取不到这种变化
我的问题视角是基于浏览器。