一、全局模块(全局对象)
1、定义
何时何地都可以访问,不需要引用
2、全局对象和全局变量
什么是全局变量:
- 在最外层定义的变量;
- 全局对象的属性;
- 隐式定义的变量(未定义直接赋值的变量)
3、process
process 是一个全局变量,即 global 对象的属性。
它用于描述当前Node.js 进程状态
的对象,提供了一个与操作系统的简单接口。
NodeJS之process对象
3.1属性:
process
对象提供一系列属性,用于返回系统信息。
- process.argv:返回当前进程的命令行参数数组。
- process.env:返回一个对象,成员为当前Shell的环境变量,比如process.env.HOME。
- process.installPrefix:node的安装路径的前缀,比如/usr/local,则node的执行文件目录为/usr/local/bin/node。
- process.pid:当前进程的进程号。
- process.platform:当前系统平台,比如Linux。
- process.title:默认值为“node”,可以自定义该值。
- process.version:Node的版本,比如v0.10.18。
以下属性指向系统IO:
stdout
属性指向标准输出(文件描述符1)。它的write方法等同于console.log,可用在标准输出向用户显示内容。
stdin
标准输入(文件描述符0)。
stderr
属性指向标准错误(文件描述符2)。
3.2方法
process
对象提供以下方法:
process.chdir()
:切换工作目录到指定目录。
process.cwd()
:返回运行当前脚本的工作目录的路径。
process.exit()
:退出当前进程。
process.getgid()
:返回当前进程的组ID(数值)。
process.getuid()
:返回当前进程的用户ID(数值)。
process.nextTick()
:指定回调函数在当前执行栈的尾部、下一次Event Loop之前执行。
process.on()
:监听事件。
process.setgid()
:指定当前进程的组,可以使用数字ID,也可以使用字符串ID。
process.setuid()
:指定当前进程的用户,可以使用数字ID,也可以使用字符串ID。
4、console
(1)console.log 接受若干 个参数。如果只有一个参数,则输出这个参数的字符串形式。如果有多个参数,则 以类似于C 语言 printf() 命令的格式输出。
(2)console.error():与console.log() 用法相同,只是向标准错误流输出。
(3)console.trace():向标准错误流输出当前的调用栈。
二、三大模块(path、fs、http)
1、定义
需要 require(),但不需要单独下载
require()
1、如果有路径,就去路径里找
2、没有路径就去node_modules里找
3、以上两种都不符合就去node安装目录里面找
2、path模块
path 模块提供了一些工具函数,用于处理文件与目录的路径
path.dirname(filepath)
获取参数中文件的路径path.basename(filename)
获取参数中文件名,console.log(path.basename("/node/base/path/test.js"));
//输出test.js
path.extname(filepath)
获取参数中文件的后缀名path.join([…paths])
path.resolve([…paths])
查询某个模块文件的带有完整绝对路径的文件名
3、fs模块
fs(filesystem的缩写)模块用于对系统文件及目录进行读写操作。
该模块提供本地文件的读写能力,基本上是POSIX文件操作命令的简单包装。
这个模块几乎对所有操作提供异步和同步两种操作方式,供开发者选择。
- readFile(),readFileSync()
- writeFile(),writeFileSync()
- exists(path, callback)
- mkdir(),writeFile(),readFile()
- mkdirSync(),writeFileSync(),readFileSync()
- readdir(),readdirSync()
- stat()
- watchfile(),unwatchfile()
- createReadStream()
- createWriteStream()
NodeJs 的fs模块
4、http模块
http核心模块的作用就是创建编写服务器
- 服务器作用:提供服务(对数据的服务);发送请求;接收请求;处理请求;发送响应(反馈)
常用方法:createServer() 、get()
5、querystring模块
功能:字面上的意思就是查询字符串,一般是对http请求所带的数据进行解析
6、events模块
功能:大多数 Node.js 核心 API
构建于惯用的异步事件驱动架构,其中某些类型的对象(又称触发器,Emitter)会触发命名事件来调用函数(又称监听器,Listener)。
常用方法 on() & emit()
7、stream模块
流(stream)是 Node.js 中处理流式数据的抽象接口。 stream 模块用于构建实现了流接口的对象。
pipe()