为了账号安全,请及时绑定邮箱和手机立即绑定

webpack CommonsChunkPlugin和code-splitting

webpack CommonsChunkPlugin和code-splitting

一只名叫tom的猫 2018-12-28 19:14:55
vue全家桶webpack工程中,我使用了CommonsChunkPlugin,chunkhash做文件静态缓存。 vendor.js 文件是vue,vuex,vue-router,element-ui 第三方库。vue路由做了代码分割,按需加载生成的路由文件是这样,文件名+hash.js。没问题。问题在于打包生成的vendor.js文件有这么一段代码:没错,vendor文件存放着代码分割后的小文件名,问题在于如果重新打包之后,旧文件会被清除,修改的文件的hash值改变,vendor中的分割的路由组件名也会改变,用户浏览器中还缓存着vendor的老文件,根据老的vendor文件来按需加载路由组件,就会找不到原来的路由组件。报错,需要用户清除缓存,重新加载新的 vendor.js 文件,才能访问到更改过的路由组件。CommonsChunkPlugin的本意不是抽离第三方组件,所有路由组件通用,不需重复加载么?为什么同时使用 CommonsChunkPlugin和code-splitting,chunkhash,会每次打包vendor内容都会改变?想要的效果:每次打包生成的vendor.js保持不变,修改过的路由组件hash值变化,用户每次访问最新的代码。PS: 问题描述可能不是很详细,有什么需要我补充请随便提出来,谢谢。
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 421 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信