Skip to content

使用插件

Vite 可以通过插件进行扩展,这些插件基于 Rollup 设计良好的插件接口,并添加了一些特定于 Vite 的选项。这意味着 Vite 用户可以依赖 Rollup 插件的成熟生态系统,同时还可以根据需要扩展开发服务器和 SSR 功能。

添加插件

要使用插件,需要将其添加到项目的 devDependencies 中,并将其包含在 vite.config.js 配置文件中的 plugins 数组中。例如,为了支持旧版浏览器,可以使用官方的 @vitejs/plugin-legacy:

$ npm add -D @vitejs/plugin-legacy
vite.config.js
js
import 
legacy
from '@vitejs/plugin-legacy'
import {
defineConfig
} from 'vite'
export default
defineConfig
({
plugins
: [
legacy
({
targets
: ['defaults', 'not IE 11'],
}), ], })

plugins还接受包括几个插件作为单个元素的预设。这对于使用多个插件实现的复杂功能(例如框架集成)很有用。阵列将在内部扁平。

Falsy plugins will be ignored, which can be used to easily activate or deactivate plugins.

查找插件

NOTE

Vite 旨在为常见的 Web 开发模式提供开箱即用的支持。在搜索 Vite 或兼容的 Rollup 插件之前,请查看 功能指南。许多在 Rollup 项目中需要插件的情况已经在 Vite 中得到了覆盖。

请查看 插件部分 以获取有关官方插件的信息。社区插件列在 awesome-vite 中。

您还可以使用NPM搜索Vite-Plugin的VITE插件NPM搜索汇总插件的NPM搜索,以遵循推荐约定的插件。

强制插件顺序

为了与某些 Rollup 插件兼容,可能需要强制插件的顺序或仅在构建时应用。这应该是 Vite 插件的实现细节。您可以使用 enforce 修饰符来强制插件的位置:

  • pre: 在 Vite 核心插件之前调用插件
  • 默认:在 Vite 核心插件之后调用插件
  • post: 在 Vite 构建插件之后调用插件
vite.config.js
js
import 
image
from '@rollup/plugin-image'
import {
defineConfig
} from 'vite'
export default
defineConfig
({
plugins
: [
{ ...
image
(),
enforce
: 'pre',
}, ], })

请查看 插件 API 指南 以获取详细信息。

Conditional Application

默认情况下,插件在服务和构建时都会被调用。如果需要在服务或构建过程中有条件地应用插件,可以使用 apply 属性在 'build''serve' 期间调用它们:

vite.config.js
js
import 
typescript2
from 'rollup-plugin-typescript2'
import {
defineConfig
} from 'vite'
export default
defineConfig
({
plugins
: [
{ ...
typescript2
(),
apply
: 'build',
}, ], })

构建插件

请查看 插件 API 指南 以获取有关创建插件的文档。

Released under the MIT License. (dev)