Vue3之vite打包优化方式

 更新时间:2025年04月25日 08:49:19   作者:梦凡尘  
这篇文章主要介绍了Vue3之vite打包优化方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

一、部分组件异步加载

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

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

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

1,下载插件

yarn add --dev rollup-plugin-visualizer

2,配置插件

//vite.config.js

import {visualizer} from "rollup-plugin-visualizer"

export default defineConfig({
    plugins:[
        visualizer({
            emitFile:false,
            file:"states.html",
            open:true
        })
    ]

})

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

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

1,依赖分包

//vite.config.js
build:{
    rollupOptions:{
        output:{  //静态资源分类打包
            chunkFileNames: 'static/js/[name]-[hash].js',      
            entryFileNames: 'static/js/[name]-[hash].js',      
            assetFileNames: 'static/[ext]/[name]-[hash].[ext]',
            
            manualChunks(id){ //静态资源拆分打包
                if (id.includes('node_modules')) {      
                    return id.toString().split('node_modules/')[1].split('/')[0].toString();           }
             }

        }
    
    }
}

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:生成的压缩包后缀
//vite.config.js
import viteCompression from "vite-plugin-compression";

plugins:[
    viteCompression({
    verbose: true,    
    disable: false,
    threshold: 10240,  
    algorithm: 'gzip',
    ext: '.gz',
    })
]

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 自动导入

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

//vite.config.js
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { AntDesignVueResolver,ElementPlusResolver} from 'unplugin-vue-components/resolvers'
 
export default defineConfig {
  plugins: [
    // ...
    AutoImport({
      resolvers: [AntDesignVueResolver(),ElementPlusResolver()],
    }),
    Components({
      resolvers: [AntDesignVueResolver(),ElementPlusResolver()],
    }),
  ],

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • vue同一浏览器登录多账号处理方案

    vue同一浏览器登录多账号处理方案

    项目在线上会遇到管理员类似权限比较大的用户,会在同一浏览器登陆多个账号,遇到这样的问题如何处理呢,下面小编给大家介绍vue同一浏览器登录多账号处理方法,感兴趣的朋友一起看看吧
    2024-01-01
  • vue props default Array或是Object的正确写法说明

    vue props default Array或是Object的正确写法说明

    这篇文章主要介绍了vue props default Array或是Object的正确写法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • Vue中的this.$set()使用方法详解(一文搞懂)

    Vue中的this.$set()使用方法详解(一文搞懂)

    this.$set是Vue中的一个方法,用于在响应式对象上设置新的属性或修改已有的属性,强制刷新并确保这些属性也是响应式的,这篇文章主要介绍了Vue中this.$set()使用方法的相关资料,需要的朋友可以参考下
    2025-09-09
  • Vue extends 属性的用法示例详解

    Vue extends 属性的用法示例详解

    这篇文章主要为大家介绍了Vue extends 属性的用法示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • 浅谈Vue页面级缓存解决方案feb-alive (下)

    浅谈Vue页面级缓存解决方案feb-alive (下)

    这篇文章主要介绍了浅谈Vue页面级缓存解决方案feb-alive(下),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • 使用Vue+ElementUI动态生成面包屑导航教程

    使用Vue+ElementUI动态生成面包屑导航教程

    Vue和ElementUI都是非常流行的前端开发框架,它们可以让我们更加便捷地开发前端应用,下面这篇文章主要给大家介绍了关于使用Vue+ElementUI动态生成面包屑导航的相关资料,需要的朋友可以参考下
    2023-05-05
  • Vue实现商品飞入购物车效果(电商项目)

    Vue实现商品飞入购物车效果(电商项目)

    这篇文章主要介绍了Vue实现商品飞入购物车效果(电商项目),这种效果在一些电商平台经常会用到,今天小编通过代码详解,需要的朋友可以参考下
    2019-11-11
  • vue插槽slot的理解和使用方法

    vue插槽slot的理解和使用方法

    这篇文章主要给大家介绍了关于vue中插槽slot的理解和使用方法,文中通过示例代码介绍的非常详细,对大家学习或者使用vue具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-04-04
  • 前端处理axios请求下载后端返回的文件流代码实例

    前端处理axios请求下载后端返回的文件流代码实例

    使用axios可以很方便地获取后端返回的文件流数据,并在前端直接在浏览器下载,这篇文章主要给大家介绍了关于前端处理axios请求下载后端返回的文件流的相关资料,需要的朋友可以参考下
    2024-07-07
  • vue解析指令compile源码层面使用解析

    vue解析指令compile源码层面使用解析

    这篇文章主要为大家介绍了Vue编译器解析compile源码解析示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09

最新评论