nodeJS的每个包都会在MeteorJS上运行吗?

时间:2013-01-29 20:00:47

标签: node.js meteor

我正在试验流星,并爱上它。我的问题是:

我可以在我的Meteor上安装任何nodeJS软件包,例如NodeMailer,并让它开箱即用吗?如果没有,那么通常的步骤是什么?

1 个答案:

答案 0 :(得分:1)

简短的回答是否定的,Meteor依赖于Fibers,这打破了与许多pacakges的原生兼容性。目前,获取一个不使用Fibers在Meteor中工作的软件包是逐个完成的。 Here is a recent example

您可follow these instructions确保使用流星应用程序部署您的软件包。

Meteor的核心开发人员之一David Greenspan强调我的观点{/ 3}}:

  

实际上没有固有的或明显的性能权衡[在使用光纤之间],因此我们选择公开更简单的API(或两者)。

     

Node模型基本上是你的app获得一个线程,即事件循环。如果您希望您的应用程序快速,请求处理程序最好快速下线!它在vanilla节点中执行此操作的方式是在完成并返回之后,如果还有更多工作要做,则在某个地方传递回调。 对于光纤,请求处理程序可以在执行I / O时“屈服”,因此它会脱离线程,但对程序员来说是无形的。就好像在同步调用中发生了回调,但回调只是该计划的延续。这是流线试图模拟的,但它发生在V8级别。

     

重要的一点是,Meteor的“同步”调用不会阻塞,它们会产生到事件循环。通常事件循环会在任何需要调用的回调之间反弹,而是在需要进一步执行的任何函数之间反弹。

相关问题