javascript - 插件编程nodeJs

标签 javascript node.js plugins error-handling try-catch

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

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

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

现在我的问题:

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

我希望有人能理解我的问题,并能指导我正确的方向

最佳答案

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

关于javascript - 插件编程nodeJs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11737670/

相关文章:

javascript - addEventListener 和 setInterval 在 Greasemonkey 脚本中静默失败

javascript - 将 json 保存在 javascript 数组中

node.js - 如何更改 Node console.log 打印的宽度?

java - 如何从似乎无法修复的分号中修复此错误?

c# - 如何在 Visual Studio 扩展的属性窗口对象列表中修改名称

visual-studio - 推荐的 Microsoft Visual Studio 附加组件/插件

javascript - 我无法使用 jquery 使跨度可编辑

javascript - moment.js 的月份错误?

javascript - 使用nodejs运行服务器时"Cannot GET/null"

javascript - AES/CBC/PKCS5PADDING IV - 从 Java 到 NodeJs 的解密