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

vue3+typescript+vite:vite.config.ts / 详细配置示例

一、vite.config.ts文件是什么

配置 Vite | Vite 官方中文文档

vite.config.ts 是 Vite 项目中的配置文件,它使用 TypeScript 编写,用于配置 Vite 的行为和特性。在 Vite 项目中,可以使用 vite.config.ts 文件来覆盖默认的配置选项或添加自定义配置选项。一些常见的配置选项包括:入口文件、输出目录、插件配置、端口号、代理设置、CSS 预处理器、构建配置等。

二、vite2 vite.config.ts 详细配置

// 导入Vite配置相关模块
import { defineConfig, loadEnv } from 'vite' // Vite的核心配置方法
import vue from '@vitejs/plugin-vue' // 支持Vue 3单文件组件
import vueJsx from '@vitejs/plugin-vue-jsx' // 支持Vue 3的JSX语法
import VueSetupExtend from 'vite-plugin-vue-setup-extend' // 支持在<script setup>中使用name属性
import { resolve } from 'path' // Node.js的路径处理模块
import checker from 'vite-plugin-checker' // 代码质量检查插件// 打印当前Node环境(用于调试)
console.log('77-process.argv', process.env.NODE_ENV)// Vite配置导出
// https://vitejs.dev/config/
export default defineConfig({// 基础路径,生产环境下指定子路径,开发环境下为空base: process.env.NODE_ENV === 'production' ? '/m-saas-pc/' : '',// 静态资源目录配置publicDir: './m-general/public/', // 指定静态资源存放目录// 插件配置plugins: [vue(), // 启用Vue 3支持VueSetupExtend(), // 允许在<script setup>中使用name属性vueJsx(), // 启用JSX语法支持checker({// 代码质量检查配置typescript: true, // 启用TypeScript类型检查vueTsc: {// Vue特定的类型检查配置tsconfigPath: './tsconfig.app.json' // 指定使用的tsconfig文件}})],// 模块解析配置resolve: {// 路径别名配置,简化模块导入alias: {'@': resolve(__dirname, 'src'), // 主src目录'@general': resolve(__dirname, 'm-general'), // 通用模块目录'@assets': resolve(__dirname, 'm-general/assets'), // 静态资源'@api': resolve(__dirname, 'm-general/api'), // API定义'@components': resolve(__dirname, 'm-general/components'), // 公共组件'@const': resolve(__dirname, 'm-general/const'), // 常量定义'@stores': resolve(__dirname, 'm-general/stores'), // 状态管理'@utils': resolve(__dirname, 'm-general/utils') // 工具函数}},// 开发服务器配置server: {host: '0.0.0.0', // 允许任何主机访问port: 3022, // 开发服务器端口open: false, // 不自动打开浏览器hmr: true, // 启用热模块替换// API代理配置,解决跨域问题proxy: {// 接口中心服务代理'/m-api': {target: loadEnv(process.argv[process.argv.length - 1], './env').VITE_SERVER_NAME, // 从环境变量读取目标地址changeOrigin: true // 修改请求头中的host为目标URL},}},// CSS相关配置css: {preprocessorOptions: {// SCSS预处理器配置scss: {// 全局注入SCSS变量和混入additionalData: `@forward "@general/assets/scss/variables.scss";`// 这样所有SCSS文件都可以直接使用variables.scss中定义的变量}}},// 生产环境构建配置build: {outDir: 'dist', // 输出目录assetsDir: 'assets', // 静态资源子目录sourcemap: false, // 不生成source map文件minify: 'terser', // 使用terser进行代码压缩// Terser压缩选项terserOptions: {compress: {drop_console: true, // 移除console语句drop_debugger: true // 移除debugger语句}},chunkSizeWarningLimit: 20000, //  chunk大小警告阈值(KB)// Rollup配置rollupOptions: {// 可以在这里添加自定义Rollup插件plugins: [// 例如: includeView1(), // 自定义插件示例],// 可以指定入口点或包含/排除规则// input: {//   index: resolve(__dirname, 'src/main.ts'),// },// 可以指定要包含的文件模式// include: ['views/canvas/**/*.vue']}}
})

五、参考链接

开始 {#getting-started} | Vite中文网

Vite中文网

Vite | Next Generation Frontend Tooling

Vite世界指南(带你从0到1深入学习 vite)_哔哩哔哩_bilibili

百度安全验证

三、欢迎交流指正

http://www.xdnf.cn/news/17743.html

相关文章:

  • Rust Web框架Axum学习指南之入门初体验
  • 使用Docker安装MeiliSearch搜索引擎
  • .NET 在鸿蒙系统(HarmonyOS Next)上的适配探索与实践
  • 《Python函数:从入门到精通,一文掌握函数编程精髓》
  • 2021睿抗决赛 猛犸不上 Ban
  • 【论文阅读】基于卷积神经网络和预提取特征的肌电信号分类
  • 使用 Rust 进行 Web 自动化入门
  • 8.14 机器学习(1)
  • 在IAR Embedded Workbench for Arm中实现NXP S32K3安全调试
  • DeepSeek补全IBM MQ 9.4 REST API 执行命令的PPT
  • 通过网页调用身份证阅读器http websocket方法-湖南步联科技美萍MP999A电子————仙盟创梦IDE
  • Eureka故障处理大汇总
  • FPS游戏时,你的电脑都在干什么(CS2)
  • 融合服务器助力下的电视信息发布直播点播系统革新
  • 零基础数据结构与算法——第七章:算法实践与工程应用-搜索引擎
  • Qt基本控件
  • 容器化与微服务:一场关于“敏捷”与“秩序”的十年战争
  • pip和dnf只下载不安装离线包
  • 重塑隐私边界,微算法科技(NASDAQ:MLGO)开发基于边缘计算的轻量级区块链身份隐私保护方案
  • 解锁 Docker:一场从入门到源码的趣味解谜之旅
  • .Net Core控制台程序连接HGDB并部署到Linux
  • 人工智能概念股:最新投资机会深度解析
  • 《书写范式》——代码如诗,诗娟代码(Python)(附精巧“九九表”生成代码)
  • 基于离散余弦变换的激活水印(DCT-AW)
  • Datawhale AI夏令营第三期多模态RAG方向 Task3
  • git clone 支持在命令行临时设置proxy
  • Redis中灵活结合SET和SETEX的方法及多语言工具库实现
  • iscc2025决赛wp
  • docker load镜像后 名字和标签异常解决
  • [前端算法]排序算法