# 1. 分包
修改 vite.config.ts
- 通过 () => import()形式加载的组件会自动分包
- 第三方插件需手动分包
|  | build: { | 
|  |     rollupOptions: { | 
|  |         output: { | 
|  |             manualChunks: { | 
|  |                 vue: ['vue', 'pinia', 'vue-router'], | 
|  |                 elementIcons: ['@element-plus/icons-vue'], | 
|  |             }, | 
|  |         }, | 
|  |     }, | 
|  | } | 
# 2. 生成.gz 文件
# 1. 安装
|  | yarn add vite-plugin-compression -D | 
# 2. 修改 vite.config.ts
默认情况下插件在开发 (serve) 和生产 (build) 模式中都会调用
使用 apply 属性指明它们仅在 build 或 serve 模式时调用
这里打包生成 .gz 插件仅需在打包时使用
|  | import viteCompression from 'vite-plugin-compression' | 
|  |  | 
|  | plugins: [ | 
|  |      | 
|  |     { | 
|  |         ...viteCompression(), | 
|  |         apply: 'build', | 
|  |     }, | 
|  | ], | 
# 3. js 和 css 文件夹分离
|  | export default defineConfig({ | 
|  |     build: { | 
|  |       rollupOptions: { | 
|  |         output: { | 
|  |           chunkFileNames: "static/js/[name]-[hash].js", | 
|  |           entryFileNames: "static/js/[name]-[hash].js", | 
|  |           assetFileNames: "static/[ext]/[name]-[hash].[ext]", | 
|  |         }, | 
|  |       }, | 
|  |     }, | 
|  |   }); | 
# 4. 分析生成包的大小
# 1. 安装
# 2. 修改 vite.config.ts
|  | import { visualizer } from 'rollup-plugin-visualizer'; | 
|  |  | 
|  | plugins: [ | 
|  |      | 
|  |     visualizer({ open: true }), | 
|  | ] |