安装配置
忽略,由于有很多地方都有资料提供安装配置方法,此处忽略,参考连接:
基础介绍
Node.js应用组成部分
- 引入required模块:使用require指令来载入node.js模块
- 创建服务器:服务器可以监听客户端的请求,类似于Apache,Nginx等HTTP服务器
-
接收请求与响应请求:服务器很容易创建,客户端可以使用浏览器或终端发送HTTP请求,服务器端接收请求后返回响应数据
也就是:使用require引入http模块,使用http调用createServer()创建服务器。
NPM
npm是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有:
4. 允许用户从npm服务器下载别人编写好的第三方包到本地;
5. 允许用户从npm服务器下载并安装别人缩写的命令行程序到本地使用
6. 允许用户将自己编写的包或命令行程序发布
nodejs REPL(交互式解释器)
表示一个电脑的环境,类似Windows系统的终端或Linux shell,可以在终端输入命令,并接收系统响应,可以执行以下任务:
7. 读取,读取用户输入,解析输入的js数据结构并存储内存中
8. 执行,执行输入的数据结构
9. 打印,输出结果
10. 循环,循环操作已上步骤直到用户退出
node
> 1+ 4
5
>
node.js 回调函数
Node.js 异步编程依托于回调来实现,但不能说使用了回调后程序就异步化了。回调函数在完成任务后就会被调用,Node使用了大量的回调函数。我们可以一边读取文件,一边执行其他命令,在文件读取完成后,将文件内容作为回调函数的参数返回,这样在执行代码时就没有阻塞或者等待文件I/O操作。
阻塞代码实例:
// 文件读取完后才执行完程序
var fs = require('fs');
var data = fs.readFileSync('test.txt');
console.log(data);
非阻塞代码实例:
// 不需要等待文件读取完,就可以在读取文件时同事执行接下来的代码
var fs = require('fs');
fs.readFile('test.txt',function(err,data){
if(err){
return console.error(err);
}
console.log(data.toString());
});
NodeJS事件循环
NodeJS是单进程应用程序,通过事件和回调支持并发;每一个API都是异步的,病座位一个独立线程运行,使用回调函数调用,并处理并发;基本上所有的事件机制都是用观察者模式来实现的。单线程类似进入一个while(true)的事件循环,再到没有事件观察者退出,每个异步事件都生成一个事件观察者,如果有事件发生就调用该回调函数