当前位置: 首页 > news >正文

vite【详解】常用配置 vite.config.js / vite.config.ts

vite常用配置

官网: 开始 | Vite 官方中文文档

Vite 配置文件通常是 vite.config.js (使用 CommonJS 语法)或者 vite.config.ts(使用 TypeScript 语法),默认内容为
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'// https://vitejs.dev/config/
export default defineConfig({plugins: [vue()]
})
解析配置 resolve

路径别名 alias 使用 @ 来代替 src 目录

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'// 导入 path 
import path from 'path'export default defineConfig({plugins: [vue()],resolve: {// 配置别名alias: {'@': path.resolve(__dirname, './src')}}
})
extensions

导入模块时可省略的文件扩展名列表,默认值是 [‘.mjs’, ‘.js’, ‘.ts’, ‘.jsx’, ‘.tsx’, ‘.json’]。

如果想支持 .vue 文件省略扩展名导入,则配置如下:

resolve: {extensions: ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json', '.vue']}
服务器配置 server(含跨域 proxy)
export default defineConfig({server: {// 指定服务器监听的主机名。设置为 '0.0.0.0' 可以让服务器外部可访问,常用于在局域网内共享开发服务器。host: '0.0.0.0',// 指定开发服务器的端口号,常在默认端口被占用时修改port: 3000,// 在开发环境中进行跨域请求,可以配置代理proxy: {// 将以 /api 开头的请求代理到 http://localhost:3000 服务器。'/api': {target: 'http://localhost:3000',changeOrigin: true,rewrite: (path) => path.replace(/^\/api/, '')}}}},
});
配置插件 plugins
import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue';export default defineConfig({plugins: [vue()],
});
构建配置 build
build: {// 指定打包输出的目录,默认是 distoutDir: 'my-dist',// 指定是否压缩代码,可取值 'terser'、'esbuild' 或 false。 'terser' 压缩效果更好但速度较慢,'esbuild' 速度快但压缩率稍低。minify: 'esbuild',// 是否生成源映射文件,方便调试生产环境代码。可取值 true、false、'inline'、'hidden' 等, inline 表示生成内联源映射文件sourcemap: 'inline'},
项目根目录 root

index.html 文件所在的位置

export default defineConfig({root: './src',
});
公共基础路径 base

开发或生产环境服务的公共基础路径,默认值为 /。可以是绝对路径或相对路径。

类似于 Webpack 中的 publicPath,如果项目要部署在子路径下,就需要修改该配置。

export default defineConfig({// 项目部署在 https://example.com/my-app/ 下base: '/my-app/',
});
环境配置 define

定义全局常量替换方式,在代码中可以直接使用这些常量。

export default defineConfig({define: {__APP_VERSION__: JSON.stringify('1.0.0'),},
});

代码中使用

console.log(`应用版本号: ${__APP_VERSION__}`);

依赖优化配置

强制预构建的依赖项列表,Vite 会在启动时对这些依赖进行预构建,以提高冷启动速度。

export default defineConfig({optimizeDeps: {include: ['lodash']}
});
 css

配置 CSS 相关选项。

css: {preprocessorOptions: {scss: {additionalData: `@import "./src/styles/variables.scss";` // 全局引入 SCSS 变量}}
}

相关文章:

  • 数据库案例2--事务、视图和索引
  • Flowable进阶-网关、事件和服务
  • cout和printf的区别
  • 量子噪声模拟器是验证量子算法的鲁棒性
  • LVGL Animation Image(Animimg)控件详解
  • [特殊字符] 第 2 篇:快速上手 Framer Motion(实操入门)
  • vue学习笔记06
  • NLM格式与温哥华格式的区别与联系是什么?
  • 基于STM32、HAL库的TCA8418RTWR I/O扩展器驱动程序设计
  • 【3D文件】3D打印迪迦奥特曼,3D打印的迪迦圣像,M78遗迹管理局,5款不同的3D打印迪迦免费下载,总有一款适合你
  • vue + element-plus自定义表单验证(修改密码业务)
  • MySQL安装实战:从零开始搭建你的数据库环境
  • ANDON系统如何解决重工业车间的信息传递难题
  • 基于django云平台的求职智能分析系统(源码+lw+部署文档+讲解),源码可白嫖!
  • 数据库day-05
  • 关于Spring解决循环依赖的一些思考
  • STM32H503CB升级BootLoader
  • 【广州华锐互动】汽车生产引入数字孪生系统,优化生产流程,提升汽车产品质量
  • 2025年Q2(门式)起重机司机考试的题目及答案
  • Android学习总结之算法篇七(图和矩阵)
  • 官宣一起打造智能汽车品牌后,华为喊话上汽要准备好足够产能
  • 乌克兰关切有中国公司帮助俄罗斯制造军事硬件,外交部:坚决反对无端指责
  • 证券时报:金价再创历史新高,“避险”黄金不应异化为投机工具
  • 都市文化·商业演剧·海派艺术:早期上海话剧商演发展新探索
  • 美国土安全部长餐厅遇窃,重要证件被盗走
  • 教育部召开全国中小学幼儿园安全工作视频会议:加强校园安防建设