码迷,mamicode.com
首页 > Web开发 > 详细

《node.js实战》第一章读后感

时间:2017-04-18 12:57:32      阅读:228      评论:0      收藏:0      [点我收藏+]

标签:数据库   技术分享   sql   json   程序设计   creat   got   目标   标准   

第一章:欢迎进入node.js世界

开始简单介绍了nodejs和前端的js一样,都使用了事件触发来完成异步请求的。

然后又简单介绍了nodejs的事件轮询机制

然后用NGINX和Apache的对比来说明异步I/O的事件轮询比有阻塞的多线程的处理能力要强

最后使用node的http模块来搭起了一个简单的服务器和一个流数据的服务器

 

Got It

1.node是异步单线程非阻塞I/O的JavaScript服务器开发平台。

异步:就像前端ajax一样,等触发了onreadystatechange事件再对数据进行处理,只不过nodejs有很多类似的方法

非阻塞I/O:指的是在接收到请求时不用等请求完成在执行,而是去接收其它请求,异步只是实现非阻塞的一种方式(I/O指的是输入输出的意思)

2.nodejs的优点

(1)开发人员用一种JavaScript语言就能开发整个网站(全栈工程师)

(2)JSON是非常流行的数据交换格式,它还是JavaScript原生的

(3)NoSQL数据库中用的就是JavaScript

(4)JavaScript是编译目标语言,很多可以编译成JavaScript

(5)node用的是虚拟机(V8)会跟着ECMAScript标准,所以什么es6,es7,es8....,nodejs直接就可以使用

(6)专为数据密集型实时程序设计

3.使用http模块搭起简单的http服务器

var http = require(‘http‘);

1.第一种

http.createServer((req, res) => {

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

  res.end(‘我是个简单的服务器!‘);

}).listen(8080);

2.第二种

var server = http.createServer();

server.on(‘request‘, (req, res) => {

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

  res.end(‘我是个简单的服务器!‘);

});

server.listen(8080);

这和第一种没什么区别,因为:http.createServer()的参数会自动添加到request事件中

技术分享

3.第三种(流数据)

var fs = require(‘fs‘);

http.createServer((req, res) => {

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

  fs.createReadStream(‘x.png‘).pipe(res);

}).listen(8080);

这种方法更高效

《node.js实战》第一章读后感

标签:数据库   技术分享   sql   json   程序设计   creat   got   目标   标准   

原文地址:http://www.cnblogs.com/sungg/p/6726970.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!