Node.js - 如何为应用程序编写插件?

时间:2014-01-15 14:24:51

标签: node.js

所以我有一个node.js应用程序,我希望它有一个或多个以下的插件:

  1. 数据导入程序
  2. 数据输出器
  3. 数据存储(mongodb)
  4. 查看(快递/玉)
  5. 所以说plugin Adata storageplugin Bdata outputerview插件,需要plugin A

    是否有任何现有的框架可以解决这个问题?

    我想我知道怎么做需要和一些'魔术',但我有要求:

    • 插件应register与主应用程序一起使用,以便应用程序可以在插件上发送事件或调用方法。
    • 应该很容易插入和拔出插件
    • 应该能够验证您是否为插件安装了依赖项插件。

1 个答案:

答案 0 :(得分:0)

您所要做的就是将插件编写为简单的Node.js模块,如您所说,在主应用程序中require

您的插件必须导出activate - 您可以从主应用中调用的功能。

要在主应用程序中注册功能(或插件本身),您可以编写一个节点模块,插件开发人员必须添加它的开发人员依赖项。我们暂时将其称为plugin-interface-module。这些模块应该有一个寄存器功能,你可以在插件中调用activate - 函数内部。

您的主应用程序还需要这些插件接口模块,并从中检索所有已注册的插件。所需的模块是全局缓存的,就像单身一样,所以你的主应用程序能够获得已注册的插件列表。

看看广告VS Vode(https://code.visualstudio.com)。它是用typescript编写的,并以相同的方式使用扩展。