什么是node.js
到底什么是node.js呢?看看官网对nodejs的描述:
Node.js is a platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.
我们可以对此总结出几点
- node.js是一个构建在Chrome JavaScript运行环境的平台,这是很重要的一点,node.js并不是一门语言,而是一个平台
- node.js致力于使构建速度快、稳定的网络程序更简单
- node.js具有事件驱动和非阻塞I/O的特色,使之轻量级并且高效率
- node.js非常适合在分布式设备运行数据密集型实时应用程序
服务器端运行的JavaScript?
Chrome JavaScript runtime也就是我们常说的 Chrome的V8 JavaScript Engine,也就是Goole开发的一个用于Chrome浏览器的底层JavaScript引擎,用于解析JavaScript语句创建其运行环境,保证我们写的语句在浏览器上的表现和我们预期的一致。
那么为什么说node.js是服务器端运行的JavaScript?好好地nodejs干嘛要和V8扯上关系?除了Google搞的V8解释JavaScript十分的快,十分重要的一个原因是V8 JavaScript 引擎并不仅限于在浏览器中运行,可以嵌入任何应用程序中运行。Node.js 和.net framework类似是一个平台(这里有些搞不明白,望大神们指点一二),但它没有像.net一样创造了一门语言——C#在这个平台上运行,而是很巧妙的借用了web开发人员已经非常熟悉的JavaScript语法,使用V8引擎来解析语句,并将其重建可在服务器上使用。所以严格上说node.js并不是服务器端运行的Javascript,而是可以在服务器端运行JavaScript语法的平台。
为什么要用node.js
搞了半天就是一个新瓶装旧酒的东西,看起来除了一个新鲜的可以使用JavaScript语法,node.js没什么长处,为什么要用它而不是同样可以在服务器端运行的Java或C#呢?这要从node.js事件驱动和非阻塞I/O的特色谈起。关于事件驱动熟悉JavaScript的同学应该很熟悉了,node.js采用一系列“非阻塞”库来支持事件循环的方式。本质上就是为文件系统、数据库之类的资源提供接口,比如一个数据库访问,采用事件机制,发起请求之后,立即将进程交出,当数据返回后触发事件,再继续处理数据。
第一步:下载安装文件
下载地址:官网http://www.nodejs.org/download/
第二步:安装nodejs
下载后 点击 node-v0.8.16-x86.msi 开始安装,一路傻瓜式安装。
配置环境变量 NODE_PATH 并在path中配置
cmd 查看 node环境是否配置成功!,
用命令行 写第一段node程序,输入node 进入编辑器模式,console.log('hello world');
我们的第一个node程序成功!
接下来我们写一个简单的web程序
在当前名录打开 cmd
然后执行node test.js
访问后 返回 Hello World
是不是很强大? 很轻便?