CommonJS 规范
ECMAScrip 标准的缺陷
- 没有模块系统
- 标准库比较少
- 没有标准接口
- 缺乏管理系统
CommonJS 对模块的定义
在 Node 中,一个 JS 文件就是一个模块。
- 模块定义
- 模块标识
- 在模块加载中,相对路径中的
./
不能省,但是.js
是可以省略的。
- 在模块加载中,相对路径中的
- 模块引用
- 在 Node 中,通过
require()
函数来引入外部的模块,require()
可以传递一个文件的路径作为参数,Node 将自动根据该路径引入外部模块,如果使用相对路径,必须使用./
或../
开头。
- 在 Node 中,通过
NPM
对于 Node 而言,NPM 帮助其完成了第三方模块的发布、安装和依赖等。借助 NPM,Node 与第三方模块之间形成了很好的一个生态系统。
NPM 命令
查看版本
npm -v
搜索模块包
npm search 包名
在当前目录安装包
npm install # 下载当前项目依赖的包(package.json 中 dependencies 下的包)
npm install 包名 # npm i 包名
npm install 包名 --save # 安装包并添加到依赖(package.json 中 dependencies)中(常用)
全局模式安装包
npm install 包名 -g # npm i 包名 -g(全局安装一般都是安装工具)
删除一个模块
npm remove 包名 # npm r 包名
从本地安装
npm install 文件路径
从镜像源安装
npm install 包名 -registry=地址
设置镜像源
npm config set registry 地址
CNPM的配置
npm install -g cnpm --registry=https://registry.npm.taobao.org
Buffer 缓冲区
从结构上看 Buffer 非常像一个数组,在 Buffer 中存储的数据都是二进制数,但是在显示时都是以 16 进制的形式显示,即 Buffer 的元素为十六进制的两位数。
文件系统
通过 Node 来操作系统中的文件,需要引入
fs
模块,该模块直接引入不需要下载。
同步文件写入
同步文件系统会阻塞程序的执行,也就是除非操作完毕,否则不会向下执行代码。
异步文件写入
异步文件系统不会阻塞程序的执行,而是在操作完成时,通过回调函数将结果返回。
网友评论