如何分析并优化打包体积?有哪些常见手段?

分析:

常见优化:

  1. 按需引入:import { debounce } from 'lodash-es' 而非整包 lodash(Tree Shaking)
  2. 替换更轻量库:dayjs 替 moment、npm 包体积扫描 bundlephobia
  3. 压缩:Terser(JS)、esbuild/CssMinimizer(CSS)、gzip/brotli
  4. externals + CDN:把 react 等大库用 <script> 引入、配置 externals 不打包
  5. 拆 vendor / 路由懒加载(见上)
  6. 图片/字体:压缩、转 WebP、用精灵图或 base64 小图
// 把 react 排除出打包,改用全局变量(需 index.html 先引入 CDN)
externals: { react: 'React', 'react-dom': 'ReactDOM' }

同分类其他题目