跳到主要内容

Docusaurus 3.3

·4分钟阅读
Sébastien Lorber
Docusaurus 维护者,《本周 React》编辑

我们很高兴地宣布 Docusaurus 3.3 已发布。

升级应该很容易。我们的发布流程遵循语义版本控制。次要版本不包含任何重大更改。

Docusaurus blog post social card

亮点

为 React 19 做准备

React 核心团队最近发布了首个 React 19 beta 版。他们还发布了升级指南和 React v18.3 版本,其中包含新的警告,以帮助我们**在升级到 React 19 之前**识别问题。

Docusaurus v3 依赖于 React 18.x。当初始化新的 Docusaurus 站点时,它将使用新的 React 18.3 版本。如果您决定升级依赖项或重新生成包管理器锁定文件,情况也是如此。

事实证明,在当前状态下,**Docusaurus 存在一些需要修复的额外警告**,特别是这个在任何页面加载和导航时立即出现在您的开发控制台上的警告:

Warning: LoadableComponent uses the legacy contextTypes API which is no longer supported and will be removed in the next major release. Use React.createContext() with static contextType instead.

#10079 中,我们让 Docusaurus 为 React 19 做好了准备。我们修复了遇到的所有 React 18.3 警告。如果我们有任何遗漏,请随时**报告新的警告**,无论是向我们还是向其他 Docusaurus 第三方插件作者。

createSitemapItems

#10083 中,我们向站点地图插件引入了一个新的灵活的 createSitemapItems() 钩子。这使用户能够使用自己的自定义逻辑创建/过滤/转换/增强站点地图项。

export default {
presets: [
[
'@docusaurus/preset-classic',
{
sitemap: {
createSitemapItems: async ({
defaultCreateSitemapItems,
...params
}) => {
const items = await defaultCreateSitemapItems(params);
return items.filter((item) => !item.url.includes('/tags/'));
},
},
},
],
],
};

页面插件改进

Docusaurus 页面插件在可用功能方面一直落后于文档和博客插件。

#10032 中,我们通过添加一些与编辑 URL 和在 Markdown 页面底部显示的最后更新元数据相关的缺失页面插件 API,标准化了每个核心内容插件上可用的选项。

export default {
presets: [
[
'@docusaurus/preset-classic',
{
pages: {
editUrl:
'https://github.com/facebook/docusaurus/tree/main/website/src/pages',
editLocalizedFiles: true,
showLastUpdateAuthor: true,
showLastUpdateTime: true,
},
},
],
],
};
/examples/markdownPageExample
仅适用于 Markdown 页面

这些新的插件选项仅适用于 Markdown 页面,对于 React 页面没有影响,因为您可以通过 JSX 完全控制其布局。

其他更改

其他值得注意的更改包括

  • #10064: 新的站点配置选项 `siteConfig.markdown.anchors.maintainCase`
  • #9767: 新的 `docusaurus deploy --target-dir` 选项
  • #10042: 新的(实验性)插件 API:`route.props`
  • #10060: 优化 App 入口点,避免在导航时进行不必要的重新渲染
  • #10080: <Admonition> 组件可以在没有标题/图标的情况下正确渲染
  • #10091: <Tabs> 属性现在可以覆盖默认值
  • #10090: docusaurus serve 在带有 /baseUrl/ 路径前缀时表现更好
  • #10070: 添加 pt-BR 缺失的主题翻译
  • #10025: 文档侧边栏项目标签现在会影响文档分页标签

查看 **3.3.0 更新日志条目** 以获取完整的更改列表。