插件编程nodeJs

Plugin programming nodeJs

本文关键字:nodeJs 编程 插件      更新时间:2024-05-13

我正在使用nodeJs(net、express、socketIo)开发一种多用途服务器。多用途意味着它接收数据,我稍后将在自定义插件中处理这些数据,该插件也是用nodejs编写的。在服务器启动时,加载了一个配置文件,其中告诉应用程序应该使用require加载哪些附加的js文件。所有插件都包含一个返回对象的create函数。此对象被推入一个数组中以供参考。

  self.config.plugins.forEach(function(plugin){             
        var plugin = require(Path.join(pluginDir,plugin.name, index.js" )).create(self);                    
        self.apps.push(plugin);             
  });

插件必须从一个特殊的基类继承,并遵循一种特殊的模式(我想使用类似c#风格的接口,但还没有找到解决方案)。

现在我的问题是:

如果我的任何插件出现错误,整个应用程序都会崩溃。如何在不将我的每个插件方法放入try/catch语句的情况下实现错误处理?

我希望有人能理解我的问题,并能引导我朝着正确的方向前进

您可以使用进程uncaughtException事件:http://nodejs.org/api/process.html#process_event_uncaughtexception,但建议使用try/catch语句,并在出现不希望的情况时抛出错误,这些try-catch语句应该放在使用模块内容的位置。