Vite的常见配置选项

选项详细说明

base: 配置基础路径

通常用于指定应用在生产环境中的路径前缀。

build: 构建选项

outDir: 输出目录。
assetsDir: 存放静态资源的目录。
assetsInlineLimit: 静态资源内联限制。
cssCodeSplit: 启用/禁用 CSS 代码拆分。
sourcemap: 生成 sourcemap 文件。
rollupOptions: Rollup 相关配置。
minify: 启用/禁用压缩。可以选择 esbuild 或 terser,也可以设置为 false。
chunkSizeWarningLimit: 触发警告的 chunk 大小限制。
emptyOutDir: 构建前清空输出目录。
manifest: 生成 manifest 文件。
ssrManifest: 生成 SSR manifest 文件。
target: 构建目标。

server: 开发服务器配置

host: 服务器主机。
port: 服务器端口。
strictPort: 如果端口被占用,是否退出。
https: 启用 https。
open: 自动打开浏览器。
proxy: 配置代理。
cors: 启用 CORS。
hmr: 热模块替换配置。

preview: 预览服务器配置

类似于 server,但用于 vite preview 命令。## plugins: 配置插件。

css: CSS 相关配置

preprocessorOptions: CSS 预处理器选项。
postcss: PostCSS 配置。

resolve: 解析选项

alias: 路径别名。
extensions: 自动解析扩展名。

esbuild: ESBuild 配置

jsxFactory: JSX 工厂函数。
jsxFragment: JSX 片段。
jsxInject: 注入 JSX 工厂函数。
minify: 启用/禁用压缩。

assetsInclude: 指定静态资源文件类型

define: 定义全局常量替换

logLevel: 日志级别

envPrefix: 环境变量前缀

json: JSON 配置

namedExports: 启用命名导出。
stringify: 启用 JSON 字符串化。

worker: Worker 配置

format: Worker 格式。
plugins: Worker 插件。

这些选项覆盖了大多数 Vite 项目的常见配置需求。根据你的项目需求,可以灵活地配置这些选项。如果有更多的自定义需求,还可以参考 Vite 官方文档 了解详细的配置选项和用法。

import { defineConfig } from 'vite'

export default defineConfig({
  // 基础路径
  base: '/',
  
  // 输出目录
  build: {
    outDir: 'dist',
    assetsDir: 'assets',
    assetsInlineLimit: 4096,
    cssCodeSplit: true,
    sourcemap: false,
    rollupOptions: {
      input: 'src/main.js',
      output: {
        // 可以配置输出选项
      },
    },
    minify: 'esbuild', // 'terser' 或者 false
    chunkSizeWarningLimit: 500,
    emptyOutDir: true,
    manifest: false,
    ssrManifest: false,
    target: 'modules',
  },
  
  // 开发服务器配置
  server: {
    host: 'localhost',
    port: 3000,
    strictPort: false,
    https: false,
    open: true,
    proxy: {
      '/api': {
        target: 'http://backend.api',
        changeOrigin: true,
        rewrite: path => path.replace(/^\/api/, '')
      }
    },
    cors: true,
    hmr: true, // 热模块替换
  },
  
  // 预览服务器配置
  preview: {
    host: 'localhost',
    port: 5000,
    strictPort: false,
    https: false,
    open: true,
    cors: true,
  },
  
  // 插件
  plugins: [
    // 在这里添加插件
  ],
  
  // CSS 相关配置
  css: {
    preprocessorOptions: {
      scss: {
        additionalData: `$injectedColor: orange;`
      }
    },
    postcss: {
      plugins: [
        // PostCSS 插件
      ]
    },
  },
  
  // 解析配置
  resolve: {
    alias: {
      '@': '/src',
    },
    extensions: ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'],
  },
  
  // ESBuild 配置
  esbuild: {
    jsxFactory: 'h',
    jsxFragment: 'Fragment',
    jsxInject: `import React from 'react'`,
    minify: true,
  },
  
  // 静态资源处理
  assetsInclude: ['**/*.gltf'],

  // 定义全局常量替换
  define: {
    __APP_VERSION__: JSON.stringify('1.0.0'),
  },
  
  // 日志级别
  logLevel: 'info', // 'info', 'warn', 'error', 'silent'

  // 环境变量前缀
  envPrefix: 'VITE_',

  // JSON 配置
  json: {
    namedExports: true,
    stringify: false,
  },

  // Worker 配置
  worker: {
    format: 'iife',
    plugins: []
  }
})

  • 18
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值