我们以注入一个全局组件为例,来看看如何定义和使用插件。
为了获得更好的类型提示,你可以在项目中安装 @rspress/shared
,然后通过 import type { RspressPlugin } from '@rspress/shared'
来引入 RspressPlugin
类型。
插件一般为一个函数,接收一些插件参数(可选),返回一个对象,对象中包含插件的名称以及其它配置。在上面的例子中,我们定义了一个插件,它的名称为 plugin-example
,它会在构建阶段定义一个全局变量 process.env.SLUG
,并且在文档中注入一个全局组件 Example.tsx
。
在 rspress.config.ts
中通过 plugins
注册插件:
这样,Example 组件会自动在页面中渲染,并且我们可以在 Example 组件中访问到 process.env.SLUG
。