问题描述
- 浏览器缓存策略:浏览器在请求静态资源时,只要静态资源的名称不变,它就不会重新请求 js资源
- 当一部分业务代码改动后,重新打包,打包后的文件名会发生变化,这意味着每次打包后,用户就要重新下载请求新的 js,依赖包是固定不变的,有变动的只是我们的业务代码,基于这个点我们就可以在其基础上打包优化
解决方案:
1、 配置 Vite
利用 Rollup 的代码分割能力来实现更精细的控制,在这个配置中,manualChunks 函数用于定义如何分割代码块。如果模块路径包含 node_modules,则这些模块会被打包到 vendor 包中。此外,可以指定项目中特定目录的模块打包到单独的包中,如例子中的 components
import {
defineConfig } from 'vite';
export default defineConfig({
build