我对这类东西很陌生,但最近我听到了很多关于Node.js有多好的消息。考虑到我非常喜欢使用jQuery和JavaScript,我不禁想知道如何决定何时使用Node.js。

从过去几天我做的所有作业中,我得到了以下信息。节点.js

是一个命令行工具,可以作为常规web服务器运行,并允许运行JavaScript程序利用了出色的V8 JavaScript引擎当你需要同时做几件事时是基于事件的,所以所有类似Ajax的精彩内容都可以在服务器端完成让我们在浏览器和后端之间共享代码让我们谈谈MySQL

我遇到的一些来源是:

深入Node.js–介绍和安装了解NodeJS按示例列出的节点(存档.is)让我们制作一个Web应用程序:NodePad

考虑到Node.js几乎可以在Amazon的EC2实例上开箱即用,我试图了解Node.js需要什么类型的问题,而不是PHP、Python和Ruby等强大的王者。我知道这确实取决于一个人对语言的专业知识,但我的问题更多地属于一般范畴:什么时候使用特定的框架,它特别适合什么类型的问题?


当前回答

node提供的另一项功能是能够使用node的子进程(childProcess.f分叉(),每个进程需要10mb内存,根据文档)动态创建多个v8实例,从而不会影响运行服务器的主进程。因此,卸载需要巨大服务器负载的后台工作就成了一个孩子的游戏,我们可以在需要时轻松地杀死他们。

我一直在使用节点,在我们构建的大多数应用程序中,同时需要服务器连接,因此网络流量很大。Express.js和新的Koajs(去掉了回调地狱)等框架使节点的工作变得更加容易。

其他回答

使用Node开始下一个项目的最重要原因。。。

所有最酷的男人都喜欢它。。。所以一定很有趣。你可以在冰箱里闲逛,并有很多Node冒险可以吹嘘。在云托管成本方面,你是个吝啬鬼。用Rails做过您讨厌IIS部署你以前的IT工作变得相当枯燥,你希望你在一个闪亮的新创业公司。

期待什么。。。

使用Express时,您将感到安全无忧,无需任何服务器膨胀软件。像火箭一样跑,而且伸缩性很好。你梦想着它,你安装了它。节点包repo npmjs.org是世界上最大的开源库生态系统。你的大脑会在嵌套回调的土地上扭曲时间。。。…直到你学会遵守诺言。Sequelize和Passport是您的API新朋友。调试大部分异步代码将得到。。。有趣的所有Noder掌握Typescript的时间。

谁使用它?

PayPal、Netflix、沃尔玛、LinkedIn、Groupon、优步、GoDaddy、道琼斯这就是他们切换到Node的原因。

简而言之:

Node.js非常适合具有大量并发连接的应用程序,每个请求只需要很少的CPU周期,因为事件循环(与所有其他客户端)在函数执行期间被阻塞。

关于Node.js中事件循环的一篇好文章是Mixu的技术博客:了解Node.js事件循环。

我认为没有人提到Node.js的另一个伟大之处是它的社区、包管理系统(npm)以及存在的模块数量,只需将它们包含在package.json文件中即可。

node提供的另一项功能是能够使用node的子进程(childProcess.f分叉(),每个进程需要10mb内存,根据文档)动态创建多个v8实例,从而不会影响运行服务器的主进程。因此,卸载需要巨大服务器负载的后台工作就成了一个孩子的游戏,我们可以在需要时轻松地杀死他们。

我一直在使用节点,在我们构建的大多数应用程序中,同时需要服务器连接,因此网络流量很大。Express.js和新的Koajs(去掉了回调地狱)等框架使节点的工作变得更加容易。

我的作品:nodejs非常适合制作实时系统,如分析、聊天应用程序、api、广告服务器等。见鬼,我用nodejs和socket.io制作了我的第一个聊天应用程序,时间不到2小时,考试期间也是如此周

Edit

我开始使用nodejs已经好几年了,我用它制作了很多不同的东西,包括静态文件服务器、简单分析、聊天应用等等。这是我对何时使用nodejs的看法

何时使用

在制作强调并发性和速度的系统时。

仅套接字服务器,如聊天应用程序、irc应用程序等。社交网络强调实时资源,如地理位置、视频流、音频流等。处理小数据块的速度非常快,就像一个分析Web应用程序。作为公开仅REST api。

何时不使用

它是一个非常多功能的Web服务器,因此您可以在任何地方使用它,但可能不是这些地方。

简单的博客和静态网站。就像静态文件服务器一样。

记住,我只是吹毛求疵。对于静态文件服务器,apache更好,主要是因为它广泛可用。多年来,nodejs社区已经变得越来越大,越来越成熟,如果您有自己的托管选择,可以放心地说nodejs几乎可以在任何地方使用。