node.js学习笔记一
Posted H_JackSmall
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了node.js学习笔记一相关的知识,希望对你有一定的参考价值。
node.js
node是平台也是语言。它是平台或者运行环境,能够让js在服务器端运行,因为它封装V8引擎(引擎,能够将js代码解析成计算机能够懂得语言),能够让js运行在其他的平台上面,而不只是运行在浏览器上 。它是服务器端语言,类似于php,java。
js是解释性的语言,没有经过编译,计算机认不到,所以谷歌v8引擎编译js代码。
回调函数
函数a有一个参数b,b是一个函数,当函数a执行完后,再执行b。函数b是以参数的形式传递给函数a的。
node.js特点(单线程,异步,非阻塞)(瞬间的吞吐量非常大)
异步,非阻塞:
阻塞(来了一个请求,必须把这个请求执行完,才执行第二个请求),非阻塞(来了一个请求,就执行一次回调。来了多个请求,就执行多次回调)。
单线程:一个核里面跑一个任务
多线程:一个核里跑多个任务,一个进程里面有很多个线程。
模块
文件和模块一一对应,一个文件就是一个模块,对外暴露多个用module.exports,对外暴露一个用exports
js单线程和异步
单线程和异步确实不能同时成为一个语言的特性。js选择了成为单线程的语言,所以它本身不可能是异步的,但js的宿主环境(比如浏览器,Node)是多线程的,宿主环境通过某种方式(事件驱动)使得js具备了异步的属性。js是单线程的语言,浏览器只分配给js一个主线程,然后为一些比较耗时的任务另外开辟了一个线程,这个线程里的任务是异步的。
node.js路由
对不同的请求做不同的响应,
try--catch
将代码放在try里面,如果里面的代码没有错误处理机制的话,错误就会被catch捕获到,执行catch方法。
总结
HTTP:
var http = require("http");//nodejs 加载模块的方法 ,http 系统模块专门供node创建服务用的。
引入http模块,可以实现局域网通信,创建服务,http://请求等。
http.createServer(function(){}) //创建服务
URL:
var url = require(‘url‘);url.parse(req.url); //引入url模块,可以将请求的url转换成对象。
以上是关于node.js学习笔记一的主要内容,如果未能解决你的问题,请参考以下文章