node.js概念:
简单点说Nodejs就是运行在服务端的JavaScript。
- node. js :虽然带一个js后缀,但他实际上采用 Google Chrome浏览器,V8引擎,由c++语言编写的,本质上是一个JavaScript 的运行环境。速度非常快,性能非常好。
往往提到js,大家就会想到浏览器中各种:
交互组件
异步请求 等等- node.js不仅仅可以解析js代码(并且也没有浏览器端安全性的控制)。
还提供许多系统级别的API:
1、文件的读写
2、进程的管理
3、网络通信 等等
话不多说,我们开始看一个很简单的小程序,来了解一下在node里http请求的过程。
demo
/**
* Created by wangqi on 16-12-10.
*/
var http = require('http'); //1
http.createServer(function(req, res) { //2 //4 //5
res.writeHead(200, {
'Content-Type': 'text/plain'
});
res.end('Hello World\n'); //6
}).listen(2000, '127.0.0.1'); //3
console.log('快去浏览器输入:127.0.0.1:2000');
const http = require('http');
const hostname = '127.0.0.1';
const port = 2000;
const server = http.createServer((req, res) = >{
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello World\n');
});
server.listen(port, hostname, () = >{
console.log(`Server running at http: //${hostname}:${port}/`);
});
对比两个程序,其实实现的结果都一样。
结果:
- http模块由javascript编写,职责是创建web服务器及处理http相关的任务等等。
- 通过createServer创建一个web服务器。
- 然后通过listen让服务器在这个2000端口监听请求。服务器就已经ready了,然后就能收到来自任何端口的请求了。
- 当请求进来的时候,我们得告诉node.js接下来要做什么,于是给createServer传入了一个匿名的回调函数。
- 在监听到从2000端口过来的请求以后,node.js就会来调用这个回调函数,同时给他传入两个参数,分别是请求体(req)和响应体(res)。
- req:用来获取这次请求的相关一些信息,比如这个请求是从哪个url地址过来的、请求的类型是get还是post。
- res:用来告诉服务器给这个请求响应一些内容,要不然请求就会一直处于挂起的状态。
- 最后就是给请求的客户端返回一个Hello World,同时在返回的请求头里面写入返回的状态码是200,代表的是成功,设置返回的文本内容是纯文本。
注意:如果修改了输出的内容则必须重启服务器,重新加载。在终端利用快捷键ctrl+c来中断上次服务器。
给大家推荐几个容易上手并学习nodejs的网站:
node官网查看nodejs的版本升级,新特性的加入,重要bug的修复等等,包括最近API的变化。
可搜索整合好的代码,主要用于项目
技术问答社区 用它来解决技术的疑问,以及查询相关的资源,特别是当环境配置出现了问题,跑服务的时候报了异常等等,这些都可以找到答案。
好了,就先写到这儿,后面会会逐渐更新补充的~_~渍渍
网友评论