如何在Docusaurus中自定义Release Notes页面及版本链接?
解决Docusaurus中自定义Release Note链接的问题
看起来你是在使用Docusaurus版本管理功能时遇到了路由404的问题,我来帮你梳理下正确的配置步骤:
1. 正确配置versions.js文件
你需要在项目的versions.js(通常位于website/目录下)中为每个版本指定releaseNotesUrl字段,而不是直接修改页面内的原生<a>标签。这样Docusaurus会自动处理版本路由前缀,避免出现路径错误。
示例配置如下:
module.exports = [ { label: '1.0.0', path: '1.0.0', // 指向对应版本的Release Note文档路径 releaseNotesUrl: '/docs/1.0.0/ReleaseNote' }, // 其他版本的配置... ];
2. 确保ReleaseNote.md的位置与Frontmatter正确
- 如果是版本专属的Release Note,需要将文件放在对应版本的文档目录中,比如
website/versioned_docs/version-1.0.0/ReleaseNote.md,此时文件的Frontmatter只需要基础配置即可:
--- id: ReleaseNote title: Release Note ---
- 如果是全局通用的Release Note(不属于某个特定版本),则放在
website/docs/ReleaseNote.md,Frontmatter同样使用上面的基础配置即可,不需要额外添加original_id字段。
3. 使用Docusaurus的<Link>组件替代原生<a>标签
在页面中引用Release Note链接时,建议使用Docusaurus提供的<Link>组件,它会自动适配当前版本的路由前缀,避免硬编码路径导致的错误:
import Link from '@docusaurus/Link'; // 在组件中使用 <Link to="/docs/ReleaseNote">Release Note</Link>
4. 验证路由生成
运行npm run start启动本地服务后,检查对应路径是否能正常访问:
- 版本专属的Release Note路径应为:
http://localhost:3000/docs/1.0.0/ReleaseNote - 全局的Release Note路径应为:
http://localhost:3000/docs/ReleaseNote
如果还是出现404,可以检查docusaurus.config.js中presets里的docs配置,确保routeBasePath设置正确,比如:
presets: [ [ '@docusaurus/preset-classic', { docs: { path: 'docs', routeBasePath: 'docs', // 其他配置项... }, }, ], ],
内容的提问来源于stack exchange,提问作者Miyeon Ha
相关产品推荐
相关产品推荐

