2
2
3
3
Vite 插件扩展了设计出色的 Rollup 接口,带有一些 Vite 独有的配置项。因此,你只需要编写一个 Vite 插件,就可以同时为开发环境和生产环境工作。
4
4
5
- ** 推荐在阅读下面的章节之前,首先阅读下 [ Rollup 插件文档] ( https://rollupjs.org/guide/en/# plugin-development ) **
5
+ ** 推荐在阅读下面的章节之前,首先阅读下 [ Rollup 插件文档] ( https://rollupjs.org/plugin-development/ ) **
6
6
7
7
## 致插件创作者 {#authoring-a-plugin}
8
8
@@ -17,7 +17,7 @@ Vite 努力秉承开箱即用的原则,因此在创作一款新插件前,请
17
17
18
18
## 约定 {#conventions}
19
19
20
- 如果插件不使用 Vite 特有的钩子,可以作为 [ 兼容 Rollup 的插件] ( #rollup-plugin-compatibility ) 来实现,推荐使用 [ Rollup 插件名称约定] ( https://rollupjs.org/guide/en /#conventions ) 。
20
+ 如果插件不使用 Vite 特有的钩子,可以作为 [ 兼容 Rollup 的插件] ( #rollup-plugin-compatibility ) 来实现,推荐使用 [ Rollup 插件名称约定] ( https://rollupjs.org/plugin-development /#conventions ) 。
21
21
22
22
- Rollup 插件应该有一个带 ` rollup-plugin- ` 前缀、语义清晰的名称。
23
23
- 在 package.json 中包含 ` rollup-plugin ` 和 ` vite-plugin ` 关键字。
@@ -146,27 +146,27 @@ console.log(msg)
146
146
147
147
## 通用钩子 {#universal-hooks}
148
148
149
- 在开发中,Vite 开发服务器会创建一个插件容器来调用 [ Rollup 构建钩子] ( https://rollupjs.org/guide/en /#build-hooks ) ,与 Rollup 如出一辙。
149
+ 在开发中,Vite 开发服务器会创建一个插件容器来调用 [ Rollup 构建钩子] ( https://rollupjs.org/plugin-development /#build-hooks ) ,与 Rollup 如出一辙。
150
150
151
151
以下钩子在服务器启动时被调用:
152
152
153
- - [ ` options ` ] ( https://rollupjs.org/guide/en /#options )
154
- - [ ` buildStart ` ] ( https://rollupjs.org/guide/en /#buildstart )
153
+ - [ ` options ` ] ( https://rollupjs.org/plugin-development /#options )
154
+ - [ ` buildStart ` ] ( https://rollupjs.org/plugin-development /#buildstart )
155
155
156
156
以下钩子会在每个传入模块请求时被调用:
157
157
158
- - [ ` resolveId ` ] ( https://rollupjs.org/guide/en /#resolveid )
159
- - [ ` load ` ] ( https://rollupjs.org/guide/en /#load )
160
- - [ ` transform ` ] ( https://rollupjs.org/guide/en /#transform )
158
+ - [ ` resolveId ` ] ( https://rollupjs.org/plugin-development /#resolveid )
159
+ - [ ` load ` ] ( https://rollupjs.org/plugin-development /#load )
160
+ - [ ` transform ` ] ( https://rollupjs.org/plugin-development /#transform )
161
161
162
162
以下钩子在服务器关闭时被调用:
163
163
164
- - [ ` buildEnd ` ] ( https://rollupjs.org/guide/en /#buildend )
165
- - [ ` closeBundle ` ] ( https://rollupjs.org/guide/en /#closebundle )
164
+ - [ ` buildEnd ` ] ( https://rollupjs.org/plugin-development /#buildend )
165
+ - [ ` closeBundle ` ] ( https://rollupjs.org/plugin-development /#closebundle )
166
166
167
- 请注意 [ ` moduleParsed ` ] ( https://rollupjs.org/guide/en /#moduleparsed ) 钩子在开发中是 ** 不会** 被调用的,因为 Vite 为了性能会避免完整的 AST 解析。
167
+ 请注意 [ ` moduleParsed ` ] ( https://rollupjs.org/plugin-development /#moduleparsed ) 钩子在开发中是 ** 不会** 被调用的,因为 Vite 为了性能会避免完整的 AST 解析。
168
168
169
- [ Output Generation Hooks] ( https://rollupjs.org/guide/en /#output-generation-hooks ) (除了 ` closeBundle ` ) 在开发中是 ** 不会** 被调用的。你可以认为 Vite 的开发服务器只调用了 ` rollup.rollup() ` 而没有调用 ` bundle.generate() ` 。
169
+ [ Output Generation Hooks] ( https://rollupjs.org/plugin-development /#output-generation-hooks ) (除了 ` closeBundle ` ) 在开发中是 ** 不会** 被调用的。你可以认为 Vite 的开发服务器只调用了 ` rollup.rollup() ` 而没有调用 ` bundle.generate() ` 。
170
170
171
171
## Vite 独有钩子 {#vite-specific-hooks}
172
172
0 commit comments