vite 默认用 rollup 做生产构建,原生支持 rollup 插件,需在 vite.config.ts 的 build.rollupoptions.plugins 中配置;应优先选用明确标注“vite compatible”的插件,避免与内置功能重复,如 json、css 处理等。

Vite 默认用 Rollup 做生产构建,所以它原生支持 Rollup 插件,不用额外引入 Rollup 就能直接用——关键是在 vite.config.ts(或 .js)里把插件配进 build.rollupOptions.plugins。
确认插件是否适配 Vite
不是所有 Rollup 插件都能开箱即用。有些插件依赖 Rollup 特有的钩子(比如 generateBundle),或者没处理 SSR、库模式(build.lib)等 Vite 场景,容易报错或行为异常。建议优先选:
- 插件文档明确写 “Vite compatible” 的
- Vite 官方插件市场(vitejs.dev/plugins)收录的
- 主流官方插件,如
@rollup/plugin-node-resolve、@rollup/plugin-commonjs、@rollup/plugin-terser
安装方式就是常规 dev 依赖:pnpm add -D @rollup/plugin-node-resolve
在 vite.config 中注册插件
插件数组直接写在 build.rollupOptions.plugins 下,顺序决定执行先后——靠前的插件先处理模块。
示例:
import nodeResolve from '@rollup/plugin-node-resolve'
import commonjs from '@rollup/plugin-commonjs'
export default defineConfig({
build: {
rollupOptions: {
plugins: [
nodeResolve(),
commonjs()
]
}
}
})
避开重复和冲突
Vite 自带很多能力,比如加载 JSON、CSS、图片、字体等,如果插件功能和内置重叠(比如 @rollup/plugin-json),一般没必要加——除非你要定制行为(例如修改 JSON 解析逻辑)。加了反而可能干扰默认流程,甚至导致构建失败。
常见可省略的插件:
-
@rollup/plugin-json(Vite 默认支持 .json) -
@rollup/plugin-css-only或类似 CSS 加载器(Vite 有完整 CSS 处理链) -
@rollup/plugin-node-resolve在大多数场景下也不必手动加,Vite 已内置等效逻辑
按需搭配实用插件
真正值得加的,是 Vite 没覆盖或需要增强的能力:
-
rollup-plugin-visualizer:生成体积分析图,定位大模块 -
vite-plugin-remove-console:移除生产环境console,减小体积 -
@rollup/plugin-terser:精细控制 JS 压缩(比如保留特定注释) -
rollup-plugin-dynamic-import-vars:支持动态 import 中的变量路径(如import(`./locales/${lang}.js`))
注意:部分插件需配合 build.rollupOptions 其他字段使用,比如分包要用 output.manualChunks,路径控制要用 output.entryFileNames 等。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











