Appearance
Node.js 的网络、HTTP 服务与服务端基础能力
Node.js 之所以会被很多前端团队继续使用,不只是因为它能跑构建工具,还因为它天然具备:
写网络服务和 HTTP 服务的能力。
1. 这一块在解决什么问题
在前端语境里,Node.js 的网络能力常见于:
- 本地开发服务器
- SSR 服务
- BFF
- 代理层
- 网关前置层
也就是说,Node.js 不只是“脚本环境”,它也能直接成为服务端能力的一部分。
2. http 模块能做什么
Node.js 提供了原生 http 模块,可以直接创建服务器。
例如:
js
import http from 'node:http'
const server = http.createServer((req, res) => {
res.statusCode = 200
res.setHeader('Content-Type', 'text/plain; charset=utf-8')
res.end('hello node')
})
server.listen(3000)这个例子虽然简单,但已经具备:
- 接收请求
- 处理响应
- 监听端口
3. 为什么前端会在 Node.js 里写 HTTP 服务
常见原因包括:
- 统一前后端技术栈
- 更适合做接口聚合和中间层
- 便于承接 SSR 和开发服务
- 更容易和前端构建、模板渲染、静态资源处理整合
4. 原生 http 和框架的关系
工程里不一定都直接基于原生 http 写业务。
更常见的做法是:
- 原生能力负责底层网络入口
- 上层再用框架或中间件体系组织业务逻辑
所以更具体一点:理解原生 http 的意义,是理解服务是怎么被接住和返回的。
5. 一份检查清单
理解 Node.js 网络能力时,至少可以自查:
- 当前服务是在监听端口,还是只是发请求
- 请求和响应对象里有哪些关键信息
- 当前更适合原生能力,还是框架封装
- 这个服务更偏开发工具,还是线上业务入口
6. 小结
如果压缩成一句话,可以记住:
Node.js 的网络和 HTTP 能力,让 JavaScript 不只是能写页面和脚本,也能直接承接服务端入口和中间层逻辑。