Docusaurus配置authorsMapPath报ValidationError不允许该参数如何解决
报错原因
- 版本不匹配:
authorsMapPath是Docusaurus 2.0.0正式及以上版本才支持的博客配置项,如果你使用的是2.0.0-beta.17及更早的测试版本、或者1.x版本,配置校验规则中不存在该字段,会直接触发不允许的校验报错。 - 插件重复注册:
@docusaurus/preset-classic预设已经默认内置了@docusaurus/plugin-content-blog插件,手动在plugins数组中重复注册该插件,即使版本符合要求也会引发配置冲突。
修复方法
- 先检查项目Docusaurus版本:在项目根目录执行
npm list @docusaurus/core查看版本号,如果版本低于2.0.0正式版,执行npm install @docusaurus/core@latest @docusaurus/preset-classic@latest升级到稳定版。 - 删除
plugins数组中手动添加的@docusaurus/plugin-content-blog配置块,不需要重复注册预设已内置的插件。 - 将
authorsMapPath配置项写入presets下的blog配置区块,取消原有注释即可,正确配置参考如下:
presets: [ [ '@docusaurus/preset-classic', { docs: { sidebarPath: require.resolve('./sidebars.js'), editUrl: 'https://github.com/facebook/docusaurus/edit/master/website/', }, blog: { authorsMapPath: 'authors.yml', showReadingTime: true, editUrl: 'https://github.com/facebook/docusaurus/edit/master/website/blog/', }, theme: { customCss: require.resolve('./src/css/custom.css'), }, }, ], ],
- 在项目博客根目录(默认为
blog/文件夹)下新建authors.yml文件,按照格式编写全局作者信息,重启开发服务即可正常使用全局作者功能,校验报错会消失。
内容的提问来源于stack exchange,提问作者chiehpower
相关产品推荐
相关产品推荐

