插件编程节点js
问题描述:
我正在开发一种使用nodeJs(net,express,socketIo)的多用途服务器。多用途意味着它的接收数据,我将稍后在自定义插件中处理,也用nodejs编写。 在服务器启动时,加载了一个配置文件告诉应用程序,应该使用require加载哪些额外的js文件。所有包含一个返回对象的create函数的插件。该对象被推入数组中以供参考。插件编程节点js
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语句应该放置在使用模块内容的地方。