NodeJs学习-基础,一

前段时间学习了一遍nodejs,但是没有做系统的记录,所以再学习一遍,并做下记录

nodeJs的优势:异步事件驱动、非阻塞IO、性能

一、异步事件驱动

Nodejs设计思想中以事件驱动为核心,事件驱动在于异步回调,他提供的大多数api都是基于事件的、异步的风格。而事件驱动的优势在于充分利用系统资源,执行代码无须阻塞等待某种操作完成,有限的资源用于其他任务。事件驱动机制是通过内部单线程高效率地维护事件循环队列来实现的,没有多线程的资源占用和上下文的切换。

二、异步、非堵塞I/O

Nodejs提供的很多模块中都是异步执行的。比如,文件操作的函数。

一个异步I/O的大致流程:

发起I/O调用

①用户通过js代码调用nodejs的核心模块,将回调函数和参数传入核心模块

②将回调函数和参数封装成

执行回调

①操作完成将结果储存到请求对象的result属性上,并发出完成通知。

②循环事件,如果有未完成的,就在进入对象请求I/O观察者队列,之后当做事件处理;

三、性能

底层选择用c++和v8来实现的,上面第一点讲到过,nodejs的事件驱动机制,这意味着面对大规模的http请求,nodejs是凭借事件驱动来完成的,性能部分是不用担心的,并且很出色。

简单命令:

这里的命令和Vue的命令一样,所以就不做详细介绍

1、npm init 初始化项目

2、npm install 引入包名

3、npm uninstall 卸载包名

4、npm update 更新包名