走进Node.js

自2009年Node.js诞生以来,其发展速度如此之快。

严格的说,Node.js是一个用于开发各种Web服务器的开发工具。

Node.js为什么发展的这么快,迅速成长起来的呢,首先,我们看一下现在的服务器端语言中存在的问题,在Java、PHP、ASP.NET等服务器端语言中,为每一个客户端创建一个新的线程,每个线程需要耗费大约2MB的内存,就是说,理论上,8GB内存的服务器可以同时连接的最大用户数为4000个左右。要让Web应用程序支持更多的用户,就要增加服务器,这样一来,硬件成本就增加了,而Node.js解决了这个问题,它并不是为每个用户请求创建一个新的线程,而是为每个用户请求触发一个在Node.js内部进行的处理事件。也就是说,使用Node.js可以同时处理多达几万个用户的客户端连接。

在Node.js服务器中运行的是高性能的V8 JavaScript脚本语言。V8 JavaScript是由Gooole公司使用C++语言开发的一种高性能Javascript引擎,该引擎并不局限在浏览器中运行,Node.js将其用在了服务器中,V8 JavaScript引擎内部使用一种全新的编译技术。这意味着,开发者编写的高端的JavaScript脚本代码与开发者编写的C语言具有肺中近似的执行效率。听起来是不是很高大上啊!

Node.js中采用了非阻塞式I/O和事件循环,这是为了实现高性能而做的改进。

当应用程序需要处理大量并发的输入输出,而在向客户端发出响应之前,应用程序内部不需要进行非常更复杂的处理的时候,可以用Node.js来进行应用程序的开发。例如:聊天类服务器和电子商务网站或综合服务类网站的服务器。

Node.js内置了很多模块,同时也可以引入第三方模块。

说了这么多,是时候动手了,首先要安装Node.js,这就不说了,到官网下载安装即可。

举个小例子,让我们看一看这高大上的Node.js程序。

新建文件,Node.js,写下如下代码:

var http = require(‘http‘);    //引入http模块

http.createServer(function(req, res) {

//用http模块的createServer方法创建用于接收客户端请求并响应的HTTP服务器应用程序。

res.writeHead(200, {‘Content-Type‘: ‘text/html‘});

res.write(‘<h1>Node.js</h1>‘);

res.end(‘<p>Hello World</p>‘);

}).listen(3000);

console.log("HTTP server is listening at port 3000.");

对,这就是一个简单的Node程序,这一小段代码创建了服务器,并向客户响应了一条消息,在浏览器中输入localhost:3000就可以看到效果了。

时间: 2024-10-22 20:48:49

走进Node.js的相关文章

系列3|走进Node.js之多进程模型

文:正龙(沪江网校Web前端工程师) 本文原创,转载请注明作者及出处 之前的文章"走进Node.js之HTTP实现分析"中,大家已经了解 Node.js 是如何处理 HTTP 请求的,在整个处理过程,它仅仅用到单进程模型.那么如何让 Web 应用扩展到多进程模型,以便充分利用CPU资源呢?答案就是 Cluster.本篇文章将带着大家一起分析Node.js的多进程模型. 首先,来一段经典的 Node.js 主从服务模型代码: const cluster = require('cluste

让前端猪猪飞起来的Node.js

前端猪猪飞飞 传统前端猪猪大多数做的事情就是页面的布局.渲染和动画效果等工作,玩弄的总是一个网页壳,因为没有后台支持,这总让前端猪猪觉得有点不爽.而Node.js的出现,却让前端猪猪们翱翔于蓝天,因为可以使用js来调用数据库,文件等后台操作,瞬间感觉猪猪也能飞,也能吊炸天. Node.js是第三方js库 大多数不认识Node.js的人会第一直觉感觉这不就是一个第三方js库吗?我只想说"呵呵"(其实我刚学那时候也这样认为). 直接上Node.js官方解释: Node.js是一个基于Chr

走进Vue.js

走进Vue.js Vue.js作为目前最热门最具前景的前端框架之一,其提供了一种帮助我们快速构建并开发前端项目的新的思维模式.本文旨在帮助大家认识Vue.js,了解Vue.js的开发流程,并进一步理解如何通过Vue.js来构建一个中大型的前端项目,同时做好相应的部署与优化工作. 文章将以PPT图片附加文字介绍的形式展开,不会涉及知识点的具体代码,点到为止.有兴趣的同学可以查看相应的文档进行了解. Vue.js简介 从上图的介绍中我们不难发现Vue.js是一款轻量级的以数据驱动的前端JS框架,其和

websocket与node.js完美结合

之所以写下此文,是我觉得越是简单的技术往往能发挥越重要的作用,随着各种新的技术的诞生,实时web技术已经走进我们.websocket和node.js使开发实时应用非常简单,同时性能也非常高. 关于websocket websocket是html5的重要feature,它直接在浏览器上对与socket的支持,这给了web开发无限的想象,虽然以前也有 flash socket+js的实现,不过毕竟不稳定,而且兼容性有很多问题,当然websocket的普及也依赖于支持html5标准的浏览器的更新,目前

Node.js 视频教程

喜欢 nodeJS  的朋友,推荐个学习地址,现在终于出视频的了, 想想前段时间,网上Node的学习资料真是少之又少,除了看书,基本上没有什么视频文件! 视频我还没看,不管好坏,总算是又多了一种学习的途径吧! 另外现在在线教学网的发展,雨后春笋办崛起.使得众多优秀的免费课程被抛出, 想想对学习者还是有利的! 地址:慕课网进击Node.js 课程介绍 Node.js 的推出,不仅从工程化的角度自动化掉更多琐碎费时的工作,更打破了前端后端的语言边界,让 JavaScript 流畅的运行在服务器端,本

node.js的安装及配置

一.安装 直接在浏览器搜索node.js,在官网上下载(一般旧版的更加稳定,比如下载4.4.7版本) 点击DOWNLOADS 往下翻,点击Previous Release Windows下载msi(64位/32位) 根据提示一步步安装,安装之后的文件夹如下: 在cmd命令行下输入node -v,如果出现如下,说明安装成功: 二.关于配置 在安装路径下新建两个文件夹: 创建完两个空文件夹之后,打开cmd命令窗口,输入 npm config set prefix "D:\Program Files

Node.js: Extend and Maintain Applications + large scale

https://blog.risingstack.com/node-js-mysql-example-handling-hundred-gigabytes-of-data/ My secondary goal with this article is to help you decide if Node.js + MySQL is a good fit for your needs, and to provide help with implementing such a solution. h

1.node.js windows环境搭建

作为服务端运行javascript的平台的NodeJs,把前台javascript移到了服务器端,Google V8引擎使其运行效率非常高,它可以异步,无任何阻塞运行程序.nodejs包含http服务器,可以为我们实现 web系统设计,客户端javascript编译器,等一系列的功能. 工具/原料 windows系统电脑 ,电脑可以上网 方法/步骤 下载windows平台nodejs环境安装包,百度一下nodejs官网,找到DOWNLOADS点击,找到Windows Installer 如果为6

在Node.js中使用RabbitMQ系列二 任务队列

在上一篇文章在Node.js中使用RabbitMQ系列一 Hello world我有使用一个任务队列,不过当时的场景是将消息发送给一个消费者,本篇文章我将讨论有多个消费者的场景. 其实,任务队列最核心解决的问题是避免立即处理那些耗时的任务,也就是避免请求-响应的这种同步模式.取而代之的是我们通过调度算法,让这些耗时的任务之后再执行,也就是采用异步的模式.我们需要将一条消息封装成一个任务,并且将它添加到任务队列里面.后台会运行多个工作进程(worker process),通过调度算法,将队列里的任