初处开始学习Node.js之路~
以下的链接均来自Node.js中文网。
全局对象:
global:
表示Node.js所在的全局环境,类似于浏览器的window对象,但区别在于:在模块文件中声明变量 var x = 1,该变量并不是global对象的属性,global.x = undefined。模块的全局变量都是该模块私有的,其他模块无法取到。
Node.js中文网的解释:在浏览器中,顶层作用域就是全局作用域。 这意味着在浏览器中,var something
会定义一个新的全局变量。 在 Node.js 中则不同,顶层作用域不是全局作用域,var something
的作用域只在模块内。点击查看global相关信息
process:
表示Node所处的当前进程,提供了当前Node.js进程的有关信息,允许开发者与该进程互动。点击查看process相关信息
console:
指向Node内置的console模块,提供命令行环境中的标准输入,标准输出功能。点击查看console相关信息
该模块导出了两个特定的组件:
- 一个
Console
类,包含console.log()
、console.error()
和console.warn()
等方法,可以被用于写入到任何 Node.js 流。console.error()
和console.warn()作用相同。
- 一个全局的
console
实例,可被用于写入到process.stdout
和process.stderr
。 全局的console
使用时无需调用require('console')
。
注意:全局的 console 对象的方法既不总是同步的(如浏览器中类似的 API),也不总是异步的(如其他 Node.js 流)。
全局函数:
setTimeout():
用于在指定毫秒之后运行回调函数,指定毫秒数须在1-2,147,483,647毫秒(约24.8天)之间,该方法返回一个整数,代表这个新建定时器的编号。
clearTimeout():
用于终止一个setTimeout方法新建的定时器。
setInterval():
每隔一定毫秒调用回调,指定毫秒数须在1-2,147,483,647毫秒(约24.8天)之间,超出则自动改为1毫秒,该方法返回一个整数,代表这个新建定时器的编号。
clearInterval():
用于终止一个setInterval方法新建的定时器。
require():
用于加载模块。
Buffer():
用于操作二进制数据。Buffer
类的实例类似于整数数组,但 Buffer
的大小是固定的、且在 V8 堆外分配物理内存。 Buffer
的大小在被创建时确定,且无法调整。点击查看buffer相关信息
两个以下划线开头的全局变量:
点击查看两个变量相关信息_dirname:指向当前运行脚本所在的目录。
_filename:指向当前运行脚本的文件名,当前模块的文件名称---解析后的绝对路径。
例如:
在 /Users/mjr
目录下执行 node example.js
console.log(__filename);
// Prints: /Users/mjr/example.js
console.log(__dirname);
// Prints: /Users/mjr
一些核心的功能模块:
- http:提供HTTP服务器功能。点击查看http相关信息
- url:用于 URL 处理与解析。点击查看url相关信息
- fs:与文件系统交互。点击查看fs相关信息
- querystring:用于解析与格式化 URL 查询字符串。主要使用querystring.parse()与querystring.stringify()解析url及把对象序列化成url。点击查看querystring相关信息
- child_process:创建子进程。点击查看child_process相关信息
- 该模块提供了衍生子进程的功能,它与 popen(3) 类似,但不完全相同。 这个功能主要由
child_process.spawn()
函数提供:
- 该模块提供了衍生子进程的功能,它与 popen(3) 类似,但不完全相同。 这个功能主要由
-
默认情况下,在 Node.js 的父进程与衍生的子进程之间会建立
stdin
、stdout
和stderr
的管道。 数据能以非阻塞的方式在管道中流通。 注意,有些程序会在内部使用行缓冲 I/O。 虽然这并不影响 Node.js,但这意味着发送到子进程的数据可能无法被立即使用。
child_process.spawn()
方法会异步地衍生子进程,且不会阻塞 Node.js 事件循环。child_process.spawnSync()
方法则以同步的方式提供同样的功能,但会阻塞事件循环,直到衍生的子进程退出或终止。 - util:提供一系列实用小工具。点击查看util相关信息
- path:处理文件路径。
path
模块的默认操作会根据 Node.js 应用程序运行的操作系统的不同而变化。 比如,当运行在 Windows 操作系统上时,path
模块会认为使用的是 Windows 风格的路径。点击查看path相关信息 - crypto:提供加密和解密功能,基本上是对OpenSSL的包装。包含对 OpenSSL 的哈希、HMAC、加密、解密、签名、以及验证功能的一整套封装。点击查看crypto相关信息
这些核心模块是最优先被加载的。