Vite项目打包构建优化(视图分析、CDN引入)

使用rollup-plugin-visualizer插件先分析模块占用空间

  • 安装依赖:pnpm i rollup-plugin-visualizer
  • vite配置:
plugins: [vue(), visualizer({
     filename: 'analysis.html', // 分析图生成的文件名
     open:true // 如果存在本地服务端口,将在打包后自动展示
   })]
  • 执行命令:vite build 打包构建会自动生成下面的占比空间图
    Vite项目打包构建优化(视图分析、CDN引入)_第1张图片

逐条分析第三方模块所占大小,CDN引入(减少构建时间,加快加载速度)

  • 我的项目中Vue,Vue-Router,Ant-design-vue,Pinia,Lodash,Axios占比较大
  • CDN网站 :https://www.jsdelivr.com(可下载下放到公司的CDN服务器上)
  • Ant-design-vue 4.X版本的CDN链接较为特殊
  • Vite项目打包构建优化(视图分析、CDN引入)_第2张图片
    提取Ant-design-vue 前需要将它引用的依赖一并使用CDN链接,否则报错antd is not defined

Vite项目打包构建优化(视图分析、CDN引入)_第3张图片
最后可以添加antd-design-vue的:

  {
    name: 'ant-design-vue',
    var: 'antd',
    path: 'https://cdn.jsdelivr.net/npm/[email protected]/dist/antd.min.js',
    css: 'https://cdn.jsdelivr.net/npm/[email protected]/dist/reset.min.css'
  },

其余的配置如下:

{
    name: 'axios',
    var: 'axios',
    path: 'xxxxxxxxxx'
  },
  {
    name: 'vue-router',
    var: 'VueRouter',
    path: 'xxxxxxxxxx'
  },
  {
    name: 'pinia',
    var: 'Pinia',
    path: 'xxxxxxxxxx'
  },
  {
    name: 'lodash',
    var: '_',
    path: 'xxxxxxxxxx'
  }

最后按环境变量控制是否使用CDN链接优化:

importToCDN({
    modules: isProd ? cdnList : []
})

你可能感兴趣的:(vite,vue3,anti-design-vue)