|
|
1
10
编辑:尝试
nodules
及其
我以前的回答是为什么不重新加载 过程 在node.js中不适用。但我认为它仍然很重要,所以我把它留在这里。 Node.js是 规避的IO 专门设计以避免多个线程或进程。著名的 C10k problem 询问如何同时为一万个客户服务。这就是线程不能很好地工作的地方。node.js只能用一个线程服务10000个客户机。如果每次重新启动node.js,node.js就会严重受损。 什么? 规避的IO 意思是?举个例子:服务一个页面。每当node.js将要为页面提供服务时,调用回调的 事件循环 . 这个 事件循环 是每个node.js应用程序固有的,并在初始化完成后开始运行。服务器端的node.js工作方式与浏览器中的客户端javascript完全相同。每当事件(鼠标单击、超时等)发生时,回调- 事件处理程序 -被调用。 在服务器端呢?让我们来看一个简单的HTTP服务器(源代码示例取自 Node.js documentation )
这首先加载HTTP模块,然后创建一个HTTP服务器,并告诉它从开始调用内部函数
现在Node.js
事件循环
接管。应用程序不会结束,而是等待请求。voil_160;每个请求都用
总之,不要重启node.js,而是让它 事件循环 决定何时必须运行代码。 |
|
|
2
6
找到了nodemon,正是我想要的: https://github.com/remy/nodemon |
|
|
3
0
我个人使用火花2(叉子)并将切换到 cluster 只要我有时间测试它。除此之外,这2个服务器还将监听文件更改,并在适当的时候重新加载服务器,这似乎是您要查找的内容。 |
|
|
4
0
有很多应用程序可以做到这一点,但我认为最好的是 Cluster ,因为您的服务器有0个停机时间。您还可以使用它设置多个工作者,或者使用cli repl功能手动启动/停止/重新启动/显示统计信息。 |
|
|
5
-3
不,node.js应该始终运行。我想你可能误解了点头的概念。为了让nodejs服务于页面,它必须是自己的服务器。一旦启动服务器实例并开始监听端口,它将一直运行,直到您关闭它。 是否可能调用了一个函数来关闭服务器,而不是仅仅关闭一个给定的流? |