首页/文章/vite工具

vite项目打包build后提示说超过500k了

2025-03-11
4642 分钟
...

说可以通过配置build.rollupOptions.output.manualChunks来提升一下,好可以,我来配置一下,把那些可能大的包单独分配一下:

    build: {
        rollupOptions: {
            output: {
                manualChunks: {
                    codemirror: ['codemirror'],
                    pinia: ['pinia'],
                    router: ['vue-router'],
                    // 将 vue 相关的模块打包到单独的 chunk
                    vue: ['vue'],
                    element: ['element-plus'],
                    // 将大型库或组件单独打包
                    largeLibrary: ['axios'],
                },
            },
        },
    },

然后再看一下,是变小了,但是还是500警告啊:

那就开始分析是哪个包比较大吧,使用rollup-plugin-visualizer这个插件来分析一下,rollup-plugin-visualizer是一个开源项目,地址:github.com/btd/rollup-…

安装:

npm install vite-plugin-compression --save-dev

配置插件

在 vite.config.js 文件中添加 rollup-plugin-visualizer 插件的配置,如下:

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import { visualizer } from 'rollup-plugin-visualizer'
import path from 'path'

const host = process.env.TAURI_DEV_HOST


export default defineConfig(async () => ({
    plugins: [
        vue(),
        visualizer({
            open: true, 
            filename: 'stats.html', 
            gzipSize: true, 
            brotliSize: true, 
        }),
    ],
    
    
    
    clearScreen: false,
    
    server: {
        port: 1420,
        strictPort: true,
        host: host || false,
        hmr: host
            ? {
                  protocol: 'ws',
                  host,
                  port: 1421,
              }
            : undefined,
        watch: {
            
            ignored: ['**/src-tauri/**'],
        },
    },
    resolve: {
        alias: {
            '@': path.resolve(__dirname, 'src'),
        },
    },
    build: {
        rollupOptions: {
            output: {
                manualChunks: {
                    codemirror: ['codemirror'],
                    pinia: ['pinia'],
                    router: ['vue-router'],
                    
                    vue: ['vue'],
                    element: ['element-plus'],
                    
                    largeLibrary: ['axios'],
                },
            },
        },
    },
}))

构建完成后,按照配置会自动生成报告 stats.html 文件。

如果配置为 open:true,则会在构建完成后自动打开报告页面:

 

如上图,打包文件占比较大的主要是以下 3 个包/文件:element-plus,edit,codemirror

所以,根据占比较大的文件去做针对性的优化即可。

对于elementui可以使用官方推荐的自动导入:快速开始 | Element Plus

配置完按需导入之后,就可以把main.ts里面的全量导入删除了:

然后再次打包就可以看到效果了

分析报告:

 

 

如果您觉得这篇文章有帮助,请点个赞吧~

分享文章

相关文章

更多文章 →
vite工具2026-03-17
深度解析:NODE_ENV 与 Mode (模式)
在现代前端开发中,尤其是使用 Vite 、 Qwik 、 Next.js 等基于 Node.js 的构建工具时,开发者经常会被两个相似的概念绕晕: 和 Mode (模式) 。 它们看起来都在做同一件事:“区分开发环境和生产环境”。但实际上,它们在架构设计中扮演着截然不同却又紧密协作的角色。混淆这两者可能导致构建配置错误、环境变量加载失败,甚至生产环境泄露敏感信息。 一、核心定义:它们到底是什么? 1\. :行业通用的“运行时开关” 起源...
学习
vite工具2025-10-01
vite常用配置
目录 1\. 基础配置 1.1 项目初始化 1.2 基础 vite.config.js 配置 配置说明与最佳实践 插件配置 (plugins) 好处 : 插件系统是Vite的核心特性,提供了丰富的功能扩展能力 坏处 : 过多插件会增加构建时间,插件冲突可能导致构建失败 建议 : 只引入必要的插件,定期检查插件更新和兼容性 适用场景 : 所有Vite项目都需要根据技术栈选择合适的插件 开发服务器配置 (server) host: ‘0.0...
学习
vite工具2025-06-04
Vite 项目中使用 vite-plugin-dts 插件的详细指南
在现代前端开发中,TypeScript 的类型声明文件( )对于提供良好的开发体验和代码提示至关重要。如果你正在使用 Vite 构建一个库项目, 插件是一个非常有用的工具,它可以帮助你自动生成 文件。以下是如何在你的 Vite 项目中安装、配置和使用 插件的详细指南。 一、插件介绍 是一个用于在 Vite 的库模式下,从 或 源文件生成类型文件( )的插件。它能够帮助开发者在构建库时,自动生成类型声明文件,从而提高开发效率。 二、安装插...
学习
vite工具2024-10-10
一次低端机 WebView 白屏的兼容之路
问题 项目:Vite4 + Vue3,APP WebView 项目 页面在 OPPO A5 手机上打不开,页面空白。 最开始是客户端在看,然后发现一个警告,大概也因为没看出什么问题,给到 Web 前端。 相关背景 为了方便描述过程的行为,先做一些相关背景的介绍。知道这些背景才能更好的了解问题的复杂。这些在解决问题的过程中始终是干扰因素,在反复调试试错的过程中才梳理总结出来,这里把它们列出来。 使用测试 App,其中有两个入口,一个是本地...
学习
vite工具2024-09-09
推荐工具vite-plugin-fake-server,可线上部署使用mockmock线上部署
最近遇到了个麻烦,后端迟迟给不了接口,测试那边又要求数据不能写死,必须可以提供mock调试。这不最近找到了一个mock工具,能解决传统mock工具无法线上部署的问题。 工具名字叫做 ,兼容vite,从官网示例上来看是同时支持 和 来模拟数据的。使用起来也非常简单,分三步走就行。 1. 安装 2. 引入 这里贴出最简单的配置,一个是制定文件夹,一个是设置在生产环境下模拟数据。 3. 使用 这里我根据个人习惯,在 文件夹下创建一个 和数个模...
学习
vite工具2024-09-03
为什么vite能够让浏览器识别.vue后缀文件
本文将从 的源码带着大家一起分析我们在使用vite开发Vue项目的时候vite所处理的一些流程,本文不会讲解API的使用,因为本文的难度偏难,如果仅仅是想学习如何配置vite,本文可能不太适合您。 在阅读本文之前,请确保你对vite的基本原理有一定的了解(不一定是了解源码,但是至少要对vite的整体运行过程有一个较为清楚的认识)。众所周知,在 的的生态中,我们通过Vue提供的Loader,分别对Vue单文件组件的template、scr...
学习面试

评论

请登录后发表评论

去登录
加载评论中...

目录