首页 > 其他分享 >Vite 优化配置方案

Vite 优化配置方案

时间:2024-10-23 16:46:44浏览次数:8  
标签:vue plugin 配置 js Vite import 优化 vite

前言

Vite 是一个快速的前端构建工具,特别适用于现代前端框架如 Vue 和 React。为了进一步提升项目的性能和开发体验,我们可以对 Vite 进行一些优化配置。本文将介绍一些常见的优化策略,并提供详细的配置示例和注释。

1. 安装必要的插件

首先,我们需要安装一些常用的 Vite 插件来帮助优化项目:

yarn add unplugin-auto-import unplugin-vue-components vite-plugin-restart vite-plugin-imagemin postcss-preset-env @vitejs/plugin-legacy vite-plugin-compression rollup-plugin-visualizer -D

2. 配置 vite.config.js

以下是一个优化后的 vite.config.js 配置文件,并附有详细注释:

import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue';
import path from 'path';
import AutoImport from 'unplugin-auto-import/vite';
import Components from 'unplugin-vue-components/vite';
import ViteRestart from 'vite-plugin-restart';
import viteImagemin from 'vite-plugin-imagemin';
import PostcssPresetEnv from 'postcss-preset-env';
import legacy from '@vitejs/plugin-legacy';
import { visualizer } from 'rollup-plugin-visualizer';
import viteCompression from 'vite-plugin-compression';

export default defineConfig({
  plugins: [
    vue(),
    // 自动导入 Vue 和 Vue Router 的 API
    AutoImport({
      imports: ['vue', 'vue-router'],
    }),
    // 自动注册组件
    Components({
      dts: 'src/components.d.ts',
      dirs: ['src/components'],
    }),
    // 监听文件变化并自动重启 Vite
    ViteRestart({
      restart: ['.env', 'vite.config.js', 'jsconfig.json'],
    }),
    // 图片压缩
    viteImagemin({
      gifsicle: {
        optimizationLevel: 3,
        interlaced: false,
      },
      optipng: {
        optimizationLevel: 7,
      },
      mozjpeg: {
        quality: 20,
      },
      pngquant: {
        quality: [0.8, 0.9],
        speed: 4,
      },
      svgo: {
        plugins: [
          { name: 'removeViewBox' },
          { name: 'removeEmptyAttrs', active: false },
        ],
      },
    }),
    // 兼容旧版浏览器
    legacy({
      targets: ['defaults', 'not IE 11'],
    }),
    // 启用 gzip 压缩
    viteCompression({
      threshold: 1024000, // 仅压缩大于 1MB 的文件
    }),
    // 打包分析工具
    visualizer(),
  ],
  css: {
    postcss: {
      plugins: [PostcssPresetEnv()],
    },
  },
  server: {
    host: '0.0.0.0', // 允许外部访问
    port: 8848, // 自定义端口
    open: true, // 启动时自动打开浏览器
  },
  resolve: {
    alias: {
      '@': path.resolve(__dirname, 'src'), // 设置路径别名
    },
  },
  build: {
    outDir: 'dist', // 输出目录
    rollupOptions: {
      output: {
        chunkFileNames: 'js/[name]-[hash:8].js',
        entryFileNames: 'js/[name]-[hash:8].js',
        assetFileNames: '[ext]/[name]-[hash:8].[ext]',
        manualChunks: (id) => {
          if (id.includes('node_modules')) {
            return id.toString().split('node_modules/')[1].split('/')[0].toString();
          }
        },
      },
    },
  },
  esbuild: {
    drop: ['console', 'debugger'], // 移除 console 和 debugger 语句
  },
});

通过以上配置和优化策略,你可以显著提升 Vite 项目的构建速度和运行性能。

标签:vue,plugin,配置,js,Vite,import,优化,vite
From: https://blog.csdn.net/qq_38133850/article/details/143188622

相关文章

  • unity资源自动优化
    #ifUNITY_EDITORusingSystem.Collections;usingSystem.Collections.Generic;usingSystem.IO;usingSystem.Text;usingUnityEditor;usingUnityEngine;publicclassAutoOptimizeAssetes:UnityEditor.AssetPostprocessor{///<summary>///音频资......
  • ssts-hospital-web-master项目实战记录四:主要配置
    记录时间:2024-10-231.配置浏览器自动打开配置文件:package.json "scripts":{  "dev":"vite--open" } 2.配置src别名(1)安装@types/node输入npm命令npm i@types/node--save-dev(2)配置文件:vite.config.tsimport{defineConfig}from'vi......
  • 【Unity】发布微信小游戏-资源优化
    资源优化方向记录:1、首包场景里面使用的字体重新生成一个,只包含首包可能使用到的字符,可以将几M的字体缩到几时KB 2、减少大尺寸贴图使用,合理压缩图片格式3、使用AssetStudio等工具检查首包资源,查看包含了那部分资源,是否引用,是否过大 这里查到了一部分无使用的资源贴图......
  • 生产环境中raid实际配置
    生产环境中raid实际配置如果对运维课程感兴趣,可以在b站上、csdn或微信视频号上搜索我的账号:运维实战课程,可以关注我,学习更多免费的运维实战技术视频项目1.Raid实际配置:(DELLR710)启动服务器——根据提示按ctrl+R(当dell界面过去时同时按crtl+R)进入raid配置界面,如下图:根......
  • tomcat从安装到配置全过程(外加servlet炸包添加方法)
    tomcat写这篇笔记的原因很简单:今天脑海中冒出tomcat配置和servlet配置的问题,记不太清了,就像找找笔记,我明明记得之前记过相关的笔记,就是再笔记里面找不到了,只好重新梳理归纳一下了!一、tomcat启动后首页访问问题1.项目初始创建的jsp文件删除,会导致启动后首页出现404错误二、To......
  • YOLO11改进:卷积变体系列篇 | DCNv3可形变卷积基于DCNv2优化 | CVPR2023
     ......
  • 腿夹腿,带你用react撸后台,系列一(Vite篇)
    Github地址|文档地址|预览地址react-antd-console是一个后台管理系统的前端解决方案,封装了后台管理系统必要功能(如登录、鉴权、菜单、面包屑、标签页等),帮助开发人员专注于业务快速开发。项目基于React18、Antdesign5、Vite和TypeScript等新版本。对于使......
  • Spring Cloud Alibaba [Nacos]配置中心。
    一启动配置管理1添加依赖:2在 bootstrap.properties 中配置Nacosserver的地址和应用名3添加配置并编写controller类4启动项目,访问配置文件与地址二Nacos配置1在Nacos页面的配置管理-配置列表中添加配置信息【DataId】2命名空间2.1命名空间:配置隔离2.2同......
  • Spring中导致事务传播失效的情况(自调用、方法访问权限、异常处理不当、传播类型选择
    文章目录1.自调用(内部调用)导致事务失效示例:解决办法:2.事务方法不是`public`修饰示例:解决办法:3.未被Spring管理的对象示例:解决办法:4.异常类型不匹配导致事务回滚失败示例:解决办法:5.传播类型使用不当示例:解决办法:6.数据库本身不支持事务解决办法:7.使用了......
  • 回溯法求解简单组合优化问题
    此为课题组所指导本科生和低年级硕士生学习组合优化问题汇报所用教材:北京大学屈婉玲教授《算法设计与分析》课程资料:https://www.icourse163.org/course/PKU-1002525003承诺不用于任何商业用途,仅用于学术交流和分享更多内容请关注许志伟课题组官方中文主页:https://JaywayXu......