
Node.js 如何发送 HTTP POST 请求?
Node.js 发 POST 请求三种方式:内置 http/https 模块(零依赖)、axios 库(最常用)、全局 fetch(Node 18+ 推荐)。本文给出三种写法的完整代码与选用建议。
聚焦概念、架构、排障、价格与选型,一篇解决一个明确问题。

Node.js 发 POST 请求三种方式:内置 http/https 模块(零依赖)、axios 库(最常用)、全局 fetch(Node 18+ 推荐)。本文给出三种写法的完整代码与选用建议。

Express 4.16.1+ 用内置中间件 express.urlencoded() 解析表单,之后在 req.body 中读取字段;JSON 请求体用 express.json()。老版本用 body-parser。本文附完整示例与常见坑。

Node.js 追加文件用 fs.appendFile(回调)、fs.promises.appendFile(async/await)或 fs.appendFileSync(同步);大数据量用 fs.createWriteStream 的 flag:'a' 流式追加。本文给出四种写法与适用场景。

Node.js 控制台变色用 ANSI 转义码:如 \x1b[31m 红色、\x1b[32m 绿色,结尾用 \x1b[0m 复位。不想手写转义码可用 chalk 库。本文给出颜色表、组合样式与 chalk 用法。

同步检查用 fs.existsSync(path),返回布尔值。注意 existsSync 已不推荐用于"检查再操作"(有竞态),更稳的做法是直接操作并捕获 ENOENT 错误。异步版本用 fs.promises.access。

把回调转 Promise:手动用 new Promise 包装(error-first 回调调 reject/resolve),或用 Node 内置 util.promisify 一行转换。本文给出两种方法、参数处理和常见坑。

Node.js 创建目录用 fs.mkdir 加 { recursive: true },目录已存在不报错、父目录自动创建,一行解决,无需先检查存在性。本文给出同步/异步/Promise 三种写法。

Node.js 调试四种方法:console.log、内置 inspector(node --inspect + Chrome DevTools)、debugger 语句断点、VS Code 调试配置。本文给出每种方法的操作步骤与适用场景。

Node.js 适合实时应用、高并发 API、微服务、SPA 后端、流处理;不适合 CPU 密集计算、重型科学计算。本文给出判断框架:看 I/O 模型、团队技能与生态匹配度。

Node.js 用内置 Buffer 做 Base64:编码 Buffer.from(str).toString('base64'),解码 Buffer.from(str,'base64').toString('utf8')。本文含字符串、二进制文件、URL 安全变体的完整写法。

Node.js 执行外部程序用 child_process 模块:exec 执行简单命令拿输出,execFile 直接执行二进制(不经 shell 更安全),spawn 处理流式大输出,execSync 同步执行。本文对比四种方法与适用场景。

退出 Node.js 用 process.exit(code):0 表示正常退出,1(或非 0)表示出错退出。注意它会强制终止未完成的异步操作,服务端更推荐让事件循环自然排空退出。本文讲清用法与坑。