全部学科
Python全栈
python
NodeJS全栈
nodejs
小程序首页
📅 2026-05-23 6 分钟 ✍️ juanwangdev

条件配置与异步配置

Vite 配置可使用函数形式,根据环境动态返回不同配置,实现更灵活的项目配置管理。

函数形式配置

JavaScript
import { defineConfig } from 'vite'

export default defineConfig(({ command, mode }) => {
  if (command === 'serve') {
    // 开发环境配置
    return {
      server: {
        port: 3000
      }
    }
  } else {
    // 生产构建配置
    return {
      build: {
        minify: 'terser'
      }
    }
  }
})

参数说明

参数说明
commandserve(开发)或 build(构建)
mode当前模式(development/production 等)
ssrBuild是否 SSR 构建

模式判断

JavaScript
export default defineConfig(({ mode }) => {
  if (mode === 'development') {
    return { /* 开发配置 */ }
  } else if (mode === 'production') {
    return { /* 生产配置 */ }
  } else if (mode === 'staging') {
    return { /* 预发布配置 */ }
  }
})

异步配置

JavaScript
export default defineConfig(async ({ command }) => {
  // 异步加载配置
  const data = await fetchConfig()

  return {
    define: {
      __CONFIG__: JSON.stringify(data)
    }
  }
})

组合配置

JavaScript
import { defineConfig } from 'vite'
import baseConfig from './vite.base.config'

export default defineConfig(({ mode }) => {
  const envConfig = loadEnvConfig(mode)

  return {
    ...baseConfig,
    ...envConfig
  }
})

注意:异步配置在开发环境首次启动时执行,构建时也会执行一次。

配置返回类型

JavaScript
// 对象形式
export default defineConfig({
  // 配置
})

// 函数形式(同步)
export default defineConfig(({ command }) => ({
  // 配置
}))

// 函数形式(异步)
export default defineConfig(async ({ command }) => {
  // 异步操作
  return { /* 配置 */ }
})

要点总结

  • 函数形式可动态调整配置
  • command 区分 serve/build
  • mode 区分不同运行模式
  • 支持异步加载配置

📝 发现内容有误?点击此处直接编辑

← 上一篇 共享配置抽取
下一篇 → 解析选项与扩展名
想查看更多题目和详细解析?
小程序提供完整的题库、模拟考试和详细解析
马上就来

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库