解决 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 文档中导入组件内容!图文教程
