nodejs学习笔记(一)

node.js的本质是一个JavaScript的解析器,是JavaScript的运行环境,是一个服务器程序。node.js是一个事件驱动I/O服务端javascript环境,基于Google的V8引擎,不是web服务器。


为什么要使用node.js

(1)为了提供高性能的web服务;(2)IO性能强大;(3)事件处理机制完善;(4)天然能够处理DOM;(5)社区非常活跃,生态圈日趋完善。


node.js的优势

(1)处理大流量数据;(2)适合实时交互的应用;(3)完美支持对象数据库;(4)异步处理大量并发连接。


yarn命令使用


node -v        查看node版本

node             进入REPL(交互式解释器)环境,两次ctrl+c 退出

npm install cnpm   

npm -v                             查看npm版本

npm install npm -g     升级npm,需要全局安装

npm search xxx             搜索npm包,xxx为包名

npm list -g                       查看所有全局安装的模块

npm list grunt                查看grunt模块的版本号

npm help install            怎么使用install,按q退出(会有提示)

npm install 可以简写成 npm i

npm uninstall 可以简写成 npm un

--save-dev 可以简写成 -D

--save 可以简写成 -S


一、node.js回调函数

1、函数调用方式分为三类:同步调用、回调和异步调用。

2、回调是一种双向调用模式;可以通过回调函数来实现回调。

3、阻塞和非阻塞关注的是程序在等待调用结果(消息,返回值)时的状态。阻塞就是做不完不准回来;非阻塞是你先做,我先看看有其他事没有,完了告诉我一声。


二、node.js事件驱动机制

非阻塞性IO

事件处理代码流程:

(1)引入events对象,创建eventEmitter对象;(2)绑定事件处理程序;(3)触发事件。

所有能触发事件的对象都是EventEmitter类的实例。

eventEmitter.on()方法用于注册监听器,eventEmitter.emit()方法用于触发事件。


三、node.js的模块化

为了让node.js的文件可以相互调用,node.js提供了一个简单的模块系统。模块是node.js应用程序的基本组成部分。文件和模块是一一对应的。一个node.js文件就是一个模块。这个文件可能是javascript代码、JSON或者编译过的C/C++扩展。node.js中存在4类模块(原生模块和3种文件模块)。

node.js的模块加载方式:

从文件模块缓存中加载  -->  从原生模块加载  -->  从文件加载


require方法加载模块

require方法接受以下几种参数的传递:

1、http、fs、path等原生模块

2、./mod或../mod,相对路径的文件模块

3、/pathtomodule/mod,绝对路径的文件模块

4、mod,非原生模块的文件模块









你可能感兴趣的:(nodejs,nodejs)