页面不整个刷新的情况下,如何加载变化的模块js
发布于 3 年前 作者 feer 1353 次浏览 来自 问答
粉丝福利 : 关注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会相应的改变。
但这种改变如何让浏览器知道,比如更新前我已经打开了某个页面。后台变化了,前台因为有缓存,获取不到这种变化

我的问题视角是基于浏览器。

回到顶部