使用集成
使用 Astro 集成只需几行代码就能为你的项目添加新的功能和行为。你可以自己编写一个自定义的集成,或者从 npm 获取流行集成。
- 解锁 React、Vue、Svelte、Solid 和其他流行的 UI 框架。
- 只需几行代码就能整合 Tailwind 和 Partytown 等工具。
- 为你的项目添加新功能,如自动生成网站地图。
- 编写自定义代码,与构建过程、开发服务器等挂钩。
教程:在项目中添加 React
Section titled 教程:在项目中添加 React在这个例子中,我们将添加 @astrojs/react
集成,好让你的 Astro 项目支持 React。添加任何其他框架(Preact、Vue、Svelte 或 Solid.js)的过程几乎都是相同的,可以使用下面概述的相同步骤。
首先,你需要安装集成和任何你希望在项目中使用的相关包。对于 React 来说,你需要安装 @astrojs/react
集成和 react
+ react-dom
包。
当包安装完成后,在你的 astro.config.mjs
项目配置文件中添加两行新内容。
第一行是导入语句,将集成导入到你的配置文件中。第二行调用集成函数(react()
)并添加集成,Astro 就知道要使用它了。
这就是了! 重新启动 Astro,新的集成应该立即生效。
如果你在启动时看到一个错误,请确保你:
- ✅ 使用 npm 安装了所需的包
- ✅ 在
astro.config.mjs
文件中导入了集成 - ✅ 以函数形式调用你的集成(
[react()]
,而不是[react]
)。 - ✅ 删除废弃
renderers:
配置(v0.25 前曾使用)。
自动集成设置
Section titled 自动集成设置Astro 最近推出了实验性的 astro add
命令来自动设置集成。
不需要上述的手动配置,只需运行 astro add [name]
,我们的自动集成向导将更新你的配置文件并安装任何必要的依赖。
甚至还可以同时配置多个集成!
处理集成依赖
Section titled 处理集成依赖当在你的项目中安装 Astro 集成时,请留新所有你在安装步骤中看到的“缺失对等依赖(missing peer dependencies)”的警告。不是所有的包管理器都会自动为你安装对等依赖。如果你是在 Node v16 以上并且使用 npm,则不需要担心。
如果你在启动 Astro 时看到 "Cannot find package 'react'"
或其他类似警告,这意味着你需要手动安装该包。例如,React 是 @astrojs/react
集成的对等依赖。这意味着除安装集成外还需安装官方的 react
和 react-dom
包。然后,该集成将自动从这些包中提取。
如果你忘记了这一步,不用担心,如果项目中缺失任一对等依赖,Astro 都会在启动时警告你。
自行管理对等依赖关系可能有点费劲,但它也使得你可以准确地控制所用包版本,如 React、Tailwind 等。这使得你对项目拥有了更大的控制权。
在未来,astro add
命令将能够为你处理所有这些设置,并为你的集成自动安装正确的对等依赖。
Astro 集成总是添加在 astro.config.mjs
文件中的 integrations
属性。
有三种常见的方法来导入集成到你的 Astro 项目:
- 安装 npm 包集成。
- 从项目内部的本地文件导入你自己的集成。
- 直接在配置文件中内联编写集成。
查看集成 API参考资料,了解所有不同地集成编写方式。
自定义选项
Section titled 自定义选项集成几乎都是以工厂函数的形式编写的,并返回真实的集成对象。这使得你可以通过向工厂函数传递参数和选项定制集成。
你可以切换集成启用状态,而不用担心遗留的 undefined
和布尔值问题,Astro 会自动忽略禁用集成。
构建自己的集成
Section titled 构建自己的集成Astro 的集成 API 受到 Rollup 和 Vite 的启发,设计得让任何曾经写过 Rollup 或 Vite 插件的人都感到熟悉。
查看集成 API,了解集成的作用以及如何自己写一个。