首页 > 解决方案 > 在 NodeJS 应用程序中实现插件管理器以在应用程序级别进行动态扩展

问题描述

对于 NodeJS 服务器应用程序,我需要使用类似插件的系统来实现动态可扩展性。目标是能够通过简单的插件挂钩扩展计算,这些插件可以通过它们在主应用程序中注册的事件选择何时以及如何运行。

是否有任何现成的框架可以满足此要求,或者是否有任何坚如磐石的架构方法来满足此要求?

问候

博克森

标签: node.jspluginsarchitecture

解决方案


经过一些尝试和错误后找到了解决方案:

  • 读取插件目录 (fs) 并扫描子文件夹
  • 检查子文件夹内是否有 manifest.json 文件
  • 如果 manifest.json 存在,则读取此文件并将内容解析为 JSON 对象
  • 将 JSON 对象推入数组(插件列表数组)
  • 遍历插件列表数组并需要插件 main.js 文件
  • 插件注册插件管理器对象的事件(通过global.pluginmanager = pluginmanager

通过适当的错误处理,这似乎很有效。


推荐阅读