当前位置:   article > 正文

Vue3之vite打包优化

vite打包优化

一:部分组件异步加载

按照vue官方文档的介绍,对于某些优先级比较低的组件可以使用异步加载的方式进行引入

  1. import {defineAsyncComponent} from "vue"
  2. const MyDiagram = defineAsyncComponent(()=>import("./components/myDiagram.vue"))

二:视图分析优化打包资源

1,下载插件

yarn add --dev rollup-plugin-visualizer

2,配置插件

  1. //vite.config.js
  2. import {visualizer} from "rollup-plugin-visualizer"
  3. export default defineConfig({
  4. plugins:[
  5. visualizer({
  6. emitFile:false,
  7. file:"states.html",
  8. open:true
  9. })
  10. ]
  11. })

3,执行打包命令,分析生成的视图分析页面

三,更改vite配置文件进行打包优化

1,依赖分包

        

  1. //vite.config.js
  2. build:{
  3. rollupOptions:{
  4. output:{ //静态资源分类打包
  5. chunkFileNames: 'static/js/[name]-[hash].js',
  6. entryFileNames: 'static/js/[name]-[hash].js',
  7. assetFileNames: 'static/[ext]/[name]-[hash].[ext]',
  8. manualChunks(id){ //静态资源拆分打包
  9. if (id.includes('node_modules')) {
  10. return id.toString().split('node_modules/')[1].split('/')[0].toString(); }
  11. }
  12. }
  13. }
  14. }

2,开启Gzip

它的主要作用就是缩小打包体积

安装插件   yarn add vite-plugin-compression -D

参数:

  • filter:过滤器,对哪些类型的文件进行压缩, 默认为 /.(js|mjs|json|css|html)$/i

  • verbose:true; 是否在控制台输出压缩结果,默认为true

  • threshold: 启用压缩的文件大小限制,单位是字节,默认为0

  • disable:false; 是否禁用压缩,默认为false

  • deleteOriginFile: 压缩后是否删除原文件,默认为false

  • algorithm: 采用的压缩算法,默认是gzip

  • ext:生成的压缩包后缀

  1. //vite.config.js
  2. import viteCompression from "vite-plugin-compression";
  3. plugins:[
  4. viteCompression({
  5. verbose: true,
  6. disable: false,
  7. threshold: 10240,
  8. algorithm: 'gzip',
  9. ext: '.gz',
  10. })
  11. ]

3,第三方组件库按需加载

安装插件 unplugin-vue-components 和 unplugin-auto-import

yarn add unplugin-auto-import -D

yarn add unplugin-vue-components -D

其中 unplugin-vue-components 主要配置第三方组件按需加载

unplugin-auto-import 主要配置第三方aip 自动导入

简单配置第三方组件按需导入

  1. //vite.config.js
  2. import AutoImport from 'unplugin-auto-import/vite'
  3. import Components from 'unplugin-vue-components/vite'
  4. import { AntDesignVueResolver,ElementPlusResolver} from 'unplugin-vue-components/resolvers'
  5. export default defineConfig {
  6. plugins: [
  7. // ...
  8. AutoImport({
  9. resolvers: [AntDesignVueResolver(),ElementPlusResolver()],
  10. }),
  11. Components({
  12. resolvers: [AntDesignVueResolver(),ElementPlusResolver()],
  13. }),
  14. ],

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/86471
推荐阅读
相关标签
  

闽ICP备14008679号