“Node.js中文手册,提供对Node.js API的快速参考,但可能不是最新版本。”
Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它允许开发者在服务器端使用JavaScript进行编程。本手册详细介绍了Node.js的各个方面,包括全局对象、定时器、模块系统以及扩展插件等关键概念。
### 全局对象
1. **oglobal**:全局对象,所有全局变量都是其属性。
2. **oprocess**:代表当前Node.js进程,提供了与操作系统交互的能力,如进程事件(如'exit'和'uncaughtException')和进程信息(如进程ID)。
3. **orequire()**:用于导入模块,是Node.js的核心功能之一。它根据指定的模块名加载模块,并返回一个引用。
4. **orequire.resolve()**:解析模块的完整路径,但不执行模块。
5. **orequire.paths**:返回一个数组,包含Node.js搜索模块的路径列表。不推荐直接修改此数组。
6. **o__filename**:当前正在执行的脚本的绝对路径。
7. **o__dirname**:当前执行脚本所在的目录。
### Timers定时器
1. **osetTimeout(callback, delay, [arg], [])**:设置一个延时执行的回调函数,延迟时间由delay参数决定。
2. **oclearTimeout(timeoutId)**:取消由setTimeout创建的定时器。
3. **osetInterval(callback, delay, [arg], [])**:设置周期性执行的回调函数,每隔delay毫秒执行一次。
4. **oclearInterval(intervalId)**:取消由setInterval创建的定时器。
### Modules模块
- **oCoreModules**:Node.js内置的核心模块,如fs、http等。
- **oFileModules**:通过文件路径直接加载的模块。
- **从`node_modules`目录中加载**:Node.js会按照特定规则在当前目录及其父目录下的`node_modules`查找模块。
- **`node_modules`的查找过程优化**:提高模块查找效率。
- **oFoldersasModules**:整个目录可以被视为一个模块,通过index.js或其他约定的入口文件。
- **oCaching**:模块加载后会被缓存,提高后续加载速度。
- **从`require.paths`目录中加载**:不再推荐使用,因为`require.paths`已被弃用。
- **不要修改`require.paths`**:设置`require.paths`无效果,应使用`module.paths`替代。
### Addenda: PackageManagerTips
- 包管理技巧,如使用npm(Node Package Manager)安装、管理和分享模块。
### Addons扩展插件
- Node.js支持C++扩展,可以通过N-API或原生的V8接口来编写高性能的模块。
### process进程
- **'exit'事件**:当Node.js进程即将退出时触发。
- **'uncaughtException'事件**:捕获未处理的异常,可用来执行清理工作或优雅地处理错误。
Node.js中文手册为开发者提供了全面的API参考,帮助理解和使用Node.js构建服务器端应用。虽然手册可能不是最新版本,但它仍然是学习和查询Node.js基础知识的重要资源。