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中引用阿里字体图标出现错误问题的解决方法,感兴趣的朋友跟随脚本之家小编一起学习吧
    2018-02-02
  • Vue自定义可以选择日期区间段的日历插件

    Vue自定义可以选择日期区间段的日历插件

    这篇文章主要为大家详细介绍了Vue自定义可以选择日期区间段的日历插件,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • uniapp APP中内嵌webview的H5与APP相互通讯动态传参代码示例

    uniapp APP中内嵌webview的H5与APP相互通讯动态传参代码示例

    最近外部公司的app要接入我司的uni H5项目,所以这篇文章主要给大家介绍了关于uniapp APP中内嵌webview的H5与APP相互通讯动态传参的相关资料,需要的朋友可以参考下
    2024-04-04
  • vue-treeselect(适配Vue3.2)及Element-plus的TreeSelect组件使用

    vue-treeselect(适配Vue3.2)及Element-plus的TreeSelect组件使用

    这篇文章主要介绍了vue-treeselect(适配Vue3.2)及Element-plus的TreeSelect组件使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • vue中EventBus的使用教程详解

    vue中EventBus的使用教程详解

    在Vue中,使用EventBus可以实现组件间的通信,如何使用EventBus? 都需要做哪些配置呢?他的注意事项是什么呢?下面就跟随小编一起学习一下吧
    2024-02-02
  • vue+elementUI动态增加表单项并添加验证的代码详解

    vue+elementUI动态增加表单项并添加验证的代码详解

    这篇文章主要介绍了vue+elementUI动态增加表单项并添加验证的代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • Pinia简单使用以及数据持久化详解

    Pinia简单使用以及数据持久化详解

    最近正在使用Pinia进行状态管理,我希望在重新刷新页面时保持状态,下面这篇文章主要给大家介绍了关于Pinia简单使用以及数据持久化的相关资料,需要的朋友可以参考下
    2022-05-05
  • vue3如何加载本地图片等静态资源浅析

    vue3如何加载本地图片等静态资源浅析

    在最近新起的项目中,用到了较新的技术栈vue3.2+vite+ts,跟着网上的写法渐渐上手了,下面这篇文章主要给大家介绍了关于vue3如何加载本地图片等静态资源的相关资料,需要的朋友可以参考下
    2023-04-04
  • vue动态生成新表单并且添加验证校验规则方式

    vue动态生成新表单并且添加验证校验规则方式

    这篇文章主要介绍了vue动态生成新表单并且添加验证校验规则方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • Vue项目部署到IIS后刷新报错404的问题及解决方法

    Vue项目部署到IIS后刷新报错404的问题及解决方法

    这篇文章主要介绍了Vue项目部署到IIS后,刷新报错404,这里需要用到URL重写工具 --URL Rewrite,需要的话需要自己下载安装,本文通过图文并茂的形式给大家介绍的非常详细,需要的朋友可以参考下
    2022-10-10

最新评论