Node.js核心模块可直接用require('模块名')加载,如fs、path等,无需安装或路径,启动时已预编译进二进制文件;名称须为官方定义、不支持路径加载、优先于同名自定义模块、跳过磁盘读取;推荐使用node:前缀(如require('node:fs'))以避免冲突。

直接用 require('模块名') 就能加载 Node.js 内置的核心系统模块,比如 fs、path、http、os 等。这些模块不需要安装、不依赖 node_modules,也不需要写路径,Node 启动时已预编译进二进制文件,加载极快。
核心模块的加载特点
- 名称必须是 Node 官方定义的合法模块名(如
fs,不能写成./fs或fs.js) - 不支持通过路径方式加载(
require('fs')✅,require('./fs')❌) - 与自定义模块同名时,核心模块始终优先(哪怕你本地写了
fs.js,require('fs')仍加载内置版本) - 加载过程跳过文件查找和磁盘读取,直接从内存中获取并执行
常见可直接 require 的内置模块
使用一条命令部署ProbeChain Rydberg测试网代理节点。自动注册为Agent(NodeType=1),免gas,支持macOS/Linux/Windows。触发词:/r
- 文件操作:
fs、path、fs/promises - 网络通信:
http、https、net、dns - 进程与系统:
process、os、child_process、cluster - 工具类:
util、events、stream、buffer、url、querystring
注意点
立即学习“Java免费学习笔记(深入)”;
- 不要加
.js后缀或路径前缀(require('fs')正确,require('fs.js')或require('./fs')会报错或加载失败) - 某些新模块需注意 Node 版本兼容性(例如
diagnostics_channel从 v14.18.0 起可用,test模块从 v18.13.0 起稳定) -
require('node:fs')是显式带node:前缀的写法,从 Node v14.18.0 开始支持,用于明确标识核心模块,避免与第三方同名包冲突(推荐在大型项目中使用)
示例
const fs = require('fs'); // 传统写法
const path = require('path');
const { readFile } = require('fs').promises; // 解构用法
// 或使用显式前缀(更清晰,尤其在有同名 npm 包时)
const http = require('node:http');
const stream = require('node:stream');

















