2023-03-23 20:02:19
在 Vue 3 中,如果发现代码总是运行缓存版本,通常是由于生产模式优化、服务端渲染(SSR)、组件预取或懒加载模块等机制导致的。以下是具体原因及解决方案:
原因分析生产模式(Production Mode)
Vue 3 默认在生产模式下会缓存编译后的代码以提升性能,但可能导致开发时无法实时更新代码。
关键配置:productionSourceMap 默认为 false,禁用源码映射会加剧缓存问题。
服务端渲染(SSR)
SSR 会预先编译组件为静态 HTML,客户端直接复用缓存内容,跳过动态编译。
预取组件(Prefetching)
Vue 3 的预取机制会提前编译组件,可能导致开发时误用缓存版本。
懒加载模块(Lazy Loading)
动态导入的模块(如 () => import('./Component.vue'))仅在首次访问时编译,后续直接复用缓存。
路由配置:禁用路由懒加载的预取提示。
Webpack 配置:修改 chainWebpack 移除预取插件:module.exports = { chainWebpack: (config) => { config.plugins.delete('prefetch'); },};
通过以上调整,可以确保 Vue 3 在开发时实时编译最新代码,而非依赖缓存版本。根据项目实际需求选择性地禁用相关优化即可。