nodejs学习1:
Node是一个Javascript运行环境(runtime)。实际上它是对Google V8引擎进行了封装。V8引 擎执行Javascript的速度非常快,性能非常好。Node对一些特殊用例进行了优化,提供了替代的API,使得V8在非浏览器环境下运行得更好。
Node.js是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动, 非阻塞I/O 模型而得以轻量和高效,非常适合在分布式设备上运行的数据密集型的实时应用。本质上就是为文件系统、数据库之类的资源提供接口。向文件系统发送一个请求时,无需等待硬盘(寻址并检索文件),硬盘准备好的时候非阻塞接口会通知Node。该模型以可扩展的方式简化了对慢资源的访问, 直观,易懂。尤其是对于熟悉onmouseover、onclick等DOM事件的用户,更有一种似曾相识的感觉。 Node.js是单线程。
1.下载node.js。(推荐也下载git)nodejs下载 。
2.打开git bash ,输入如下命令,若等显示出对应信息就是node.js安装成功。$ node -v,$ npm -v.
3.开始第一个hello world.
1.建立文件server.js
2.输入下列代码
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(1337, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');
3.打开Git Shell.运行文件server.js(注意文件要放在github空间下,否则会提示找不到文件),当上面提示running一个ip时表示成功
打开浏览器窗口,输入对应ip即可出线hello world.
4.对上述代码解释:
1.先加载一个由javascript编写的模块,创建http服务器。
2.调用http模块提供的函数createServer,其返回一个对象,然后调用listen方法;意思是http服务将在1337端口进行监听。
3. 当一个请求到来时,传递给createServer的匿名函数将会执行,其携带的两个参数代表请求和响应。请求到达时,response的writeHead方法在请求头里写入status 200以及content-type头信息,write方法将文本信息“Hello World”发送给响应body;最后end方法结束响应。
5 事件驱动的异步调用
nodejs仅有一个进程,通过事件轮询机制引入了事件驱动和移步回调的概念
服务器启动的时候及时输出server started, 而不是等待有请求的时候再输出server started。
由此可知nodejs是异步的,单线程的事件驱动的执行模型。
nodejs仅有一个进程,通过事件轮询机制引入了事件驱动和移步回调的概念
服务器启动的时候及时输出server started, 而不是等待有请求的时候再输出server started。
由此可知nodejs是异步的,单线程的事件驱动的执行模型。