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 (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...