解决 Docusaurus 中的本地搜索插件(@easyops-cn/docusaurus-search-local)失效问题
查阅插件文档得知需配置 docsRouteBasePath 属性与@docusaurus/preset-classic中的 routeBasePath 匹配。解决方案是在主题中将 docsRouteBasePath 配置为"/",重新打包发布后成功解决搜索问题。
在 Docusaurus 文档项目中配置了一个本地的搜索插件(@easyops-cn/docusaurus-search-local),但是打包发布到生产环境中的时候,发现怎么也搜索不出来。
定位问题
打开控制台检索后发现是 search-index.json
的问题,初步判断是项目路由的原因导致的问题。
到“@easyops-cn/docusaurus-search-local”官方文档查看才发现需要设置一些配置,如下图的说明,大致说的是:对于仅文档模式的情况,确保 docsRouteBasePath
属性与 @docusaurus/preset-classic
配置中的 routeBasePath
相匹配,例如设置为 "/"
。
解决问题
我在@docusaurus/preset-classic
中的routeBasePath
里的配置是/
。
所以我需要在主题中将docsRouteBasePath
的值也配置成/
。
配置完毕后重新打包发布,就可以成功搜索了。
总结
在 Docusaurus 文档项目中,配置本地搜索插件(@easyops-cn/docusaurus-search-local)时,遇到无法在生产环境中搜索的问题。通过检查控制台发现search-index.json
问题,猜测是项目路由导致的。查阅插件文档得知需配置 docsRouteBasePath 属性与@docusaurus/preset-classic
中的 routeBasePath 匹配。解决方案是在主题中将 docsRouteBasePath 配置为"/",重新打包发布后成功解决搜索问题。
知识扩展:
- 解决 Docusaurus 中的本地搜索插件(docusaurus-search-local)报错问题
- Docusaurus 的默认侧边栏目录更改!插入图片或文字
- Docusaurus 的 md 文档中导入组件内容!图文教程