- assert断言
- async_hooks异步钩子
- async_hooks/context异步上下文
- buffer缓冲区
- C++插件
- C/C++插件(使用Node-API)
- C++嵌入器
- child_process子进程
- cluster集群
- CLI命令行
- console控制台
- Corepack核心包
- crypto加密
- crypto/webcrypto网络加密
- debugger调试器
- deprecation弃用
- dgram数据报
- diagnostics_channel诊断通道
- dns域名服务器
- domain域
- Error错误
- events事件触发器
- fs文件系统
- global全局变量
- http超文本传输协议
- http2超文本传输协议2.0
- https安全超文本传输协议
- inspector检查器
- Intl国际化
- module模块
- module/cjsCommonJS模块
- module/esmECMAScript模块
- module/package包模块
- net网络
- os操作系统
- path路径
- perf_hooks性能钩子
- permission权限
- policy安全策略
- process进程
- punycode域名代码
- querystring查询字符串
- readline逐行读取
- repl交互式解释器
- report诊断报告
- stream流
- stream/web网络流
- string_decoder字符串解码器
- test测试
- timers定时器
- tls安全传输层
- trace_events跟踪事件
- tty终端
- url网址
- util实用工具
- v8引擎
- vm虚拟机
- wasi网络汇编系统接口
- worker_threads工作线程
- zlib压缩
Node.js v16.19.1 文档
- Node.js 16.19.1
- ► 目录
-
►
索引
- assert 断言
- async_hooks 异步钩子
- async_hooks/context 异步上下文
- buffer 缓冲区
- C++插件
- C/C++插件(使用Node-API)
- C++嵌入器
- child_process 子进程
- cluster 集群
- CLI 命令行
- console 控制台
- Corepack 核心包
- crypto 加密
- crypto/webcrypto 网络加密
- debugger 调试器
- deprecation 弃用
- dgram 数据报
- diagnostics_channel 诊断通道
- dns 域名服务器
- domain 域
- Error 错误
- events 事件触发器
- fs 文件系统
- global 全局变量
- http 超文本传输协议
- http2 超文本传输协议2.0
- https 安全超文本传输协议
- inspector 检查器
- Intl 国际化
- module 模块
- module/cjs CommonJS模块
- module/esm ECMAScript模块
- module/package 包模块
- net 网络
- os 操作系统
- path 路径
- perf_hooks 性能钩子
- permission 权限
- policy 安全策略
- process 进程
- punycode 域名代码
- querystring 查询字符串
- readline 逐行读取
- repl 交互式解释器
- report 诊断报告
- stream 流
- stream/web 网络流
- string_decoder 字符串解码器
- test 测试
- timers 定时器
- tls 安全传输层
- trace_events 跟踪事件
- tty 终端
- url 网址
- util 实用工具
- v8 引擎
- vm 虚拟机
- wasi 网络汇编系统接口
- worker_threads 工作线程
- zlib 压缩
- ► 其他版本
- 文档搜索
目录
module 模块#
Module 对象#
当与 Module
的实例交互时提供通用的实用方法,module
变量常见于 CommonJS 模块中。
通过 import 'node:module'
或 require('node:module')
访问。
module.builtinModules
#
Node.js 提供的所有模块的名称列表。 可用于验证模块是否由第三方维护。
此上下文中的 module
与模块封装器提供的对象不同。
要访问它,需要 Module
模块:
// module.mjs
// 在 ECMAScript 模块中
import { builtinModules as builtin } from 'node:module';
// module.cjs
// 在 CommonJS 模块中
const builtin = require('node:module').builtinModules;
module.createRequire(filename)
#
import { createRequire } from 'node:module';
const require = createRequire(import.meta.url);
// sibling-module.js 是 CommonJS 模块。
const siblingModule = require('./sibling-module');
module.isBuiltin(moduleName)
#
import { isBuiltin } from 'node:module';
isBuiltin('node:fs'); // true
isBuiltin('fs'); // true
isBuiltin('wss'); // false
module.syncBuiltinESMExports()
#
module.syncBuiltinESMExports()
方法更新内置的 ES 模块的所有实时绑定,以匹配 CommonJS 导出的属性。
它不会在 ES 模块中添加或删除导出的名称。
const fs = require('node:fs');
const assert = require('node:assert');
const { syncBuiltinESMExports } = require('node:module');
fs.readFile = newAPI;
delete fs.readFileSync;
function newAPI() {
// ...
}
fs.newAPI = newAPI;
syncBuiltinESMExports();
import('node:fs').then((esmFS) => {
// 它将现有的 readFile 属性与新值同步
assert.strictEqual(esmFS.readFile, newAPI);
// readFileSync 已从所需的 fs 中删除
assert.strictEqual('readFileSync' in fs, false);
// syncBuiltinESMExports() 不会从 esmFS 中删除 readFileSync
assert.strictEqual('readFileSync' in esmFS, true);
// syncBuiltinESMExports() 不添加名称
assert.strictEqual(esmFS.newAPI, undefined);
});
Source Map V3 的支持#
稳定性: 1 - 实验
与源映射缓存交互的助手。 当启用源映射解析并且在模块的页脚中找到源映射包含指令时,则会填充此缓存。
要启用源映射解析,则 Node.js 必须使用标志 --enable-source-maps
运行、或者通过设置 NODE_V8_COVERAGE=dir
启用代码覆盖率。
// module.mjs
// 在 ECMAScript 模块中
import { findSourceMap, SourceMap } from 'node:module';
// module.cjs
// 在 CommonJS 模块中
const { findSourceMap, SourceMap } = require('node:module');
module.findSourceMap(path)
#
path
<string>- 返回: <module.SourceMap>
path
是文件的解析路径,应为其获取相应的源映射。
module.SourceMap
类#
new SourceMap(payload)
#
payload
<Object>
创建新的 sourceMap
实例。
payload
是键匹配 Source map v3 格式的对象:
file
: <string>version
: <number>sources
: <string[]>sourcesContent
: <string[]>names
: <string[]>mappings
: <string>sourceRoot
: <string>
sourceMap.payload
#
- 返回: <Object>
用于构造 SourceMap
实例的有效负载的获取器。
sourceMap.findEntry(lineNumber, columnNumber)
#
给定生成的源文件中的行号和列号,返回表示原始文件中位置的对象。 返回的对象包含以下键: