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

插件条件应用

Vite 插件可通过 apply 选项控制生效阶段,避免不必要的插件执行。

apply 选项

JavaScript
function myPlugin() {
  return {
    name: 'my-plugin',
    apply: 'build',  // 只在构建时生效
    // 或 'serve' 只在开发时生效
  }
}
apply 值生效阶段
serve开发服务器启动时
build生产构建时
未设置所有阶段生效

函数形式 apply

JavaScript
function myPlugin() {
  return {
    name: 'my-plugin',
    apply({ command, mode }) {
      // command: 'serve' | 'build'
      // mode: 'development' | 'production' | ...
      return command === 'build' && mode === 'production'
    }
  }
}

开发阶段插件示例

JavaScript
// 只在开发环境生效的插件
function devPlugin() {
  return {
    name: 'dev-plugin',
    apply: 'serve',
    configureServer(server) {
      // 开发服务器配置
    }
  }
}

构建阶段插件示例

JavaScript
// 只在构建时生效的插件
function buildPlugin() {
  return {
    name: 'build-plugin',
    apply: 'build',
    generateBundle(options, bundle) {
      // 构建产物处理
    }
  }
}

注意:apply 未设置时插件在所有阶段生效。

条件配置插件

JavaScript
import compression from 'vite-plugin-compression'

export default defineConfig(({ command }) => ({
  plugins: [
    // 只在生产构建时压缩
    command === 'build' && compression()
  ].filter(Boolean)
}))

插件执行控制对比

控制方式说明
apply: 'serve'开发环境生效
apply: 'build'构建环境生效
函数 apply更细粒度控制
条件配置外部控制插件应用

要点总结

  • apply 控制插件生效阶段
  • serve 只在开发环境生效
  • build 只在构建环境生效
  • 函数形式可更细粒度控制

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

← 上一篇 常用官方插件使用
下一篇 → 插件概念与生命周期
想查看更多题目和详细解析?
小程序提供完整的题库、模拟考试和详细解析
马上就来

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

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