如何解决Docusaurus:在loadContent插件编写不佳的过程中是否正在写入文件系统?
我想使用“ docs”插件和自定义(JavaScript)插件将文档填充到Docusaurus项目中,以将其连接到无头CMS。目前,我正在使用loadContent生命周期API事件来调用我的Headless CMS API,然后使用fs.writeFileSync在'/ docs'中创建物理markdown文件并覆盖./sidebars.js文件,因此经典预设作品随附的“ docs”插件。
./ my-plugin / index.js:
module.exports = function (context,options) {
return {
name: 'my-docusaurus-plugin',async loadContent() {
//calls to Headless CMS API for documentation content
let response = await fetchArticles('documentation');
// Adds the markdown files for 'docs' plugin using fs.writeFileSync
await buildArticles(response)
//fetch homepage and navigation sections from CMS API
let homepage = await fetchPages('homepage');
let sidebarSection = await fetchPages('page');
//overwrite ./sidebars.js with API navigation data using fs.writeFileSync
await buildSidebar(homepage,sidebarSection);
}
};
};
之所以可以这样做,是因为我从CMS和文档渲染器中获取内容,但这似乎是一种解决方法,而不是将无头CMS与Docusaurus连接起来的优雅解决方案。我是否错过了一些最佳实践,还是有使用其他生命周期事件的更好方法?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。