Node.js 基础:使用 http 模块实现简单路由分发
本文通过三个核心文件 server.js、route.js 和 index.js 演示 Node.js 中基于 http 模块的简单路由实现。通过 url.parse 解析请求路径,并将处理逻辑分发至独立的路由模块,帮助初学者理解后端请求处理与模块化的基本流程。
服务器启动与请求监听
文件 server.js 负责启动 HTTP 服务。代码首先引入 http 和 url 模块,定义 start 函数接收 route 处理逻辑。在 onRequest 回调中,利用 url.parse 解析请求 URL 的路径名,并调用传入的 route 函数进行初步处理。随后服务器返回 200 状态码及文本内容“只是一个练手罢了”。最后通过 http.createServer 创建服务并监听 8888 端口,启动成功后在控制台输出“服务启动”提示。
var http = require("http");
var url = require("url");
function start(route){//route.js 的route方法
//服务实现
function onRequest(request,response){
var pathname = url.parse(request.url.).pathname;
route(pathname); //
response.writeHead(200,{"Content-Type":"text/plain"});
response.write("只是一个练手罢了");
response.end();
}
//创建服务
http.createServer(onRequest).listen(8888);//端口号8888
console.log("服务启动");//后台输出,表示服务启动成功
}
exports.start = start; //将start方法暴露出去
========================================
路由处理逻辑
文件 route.js 定义了路由处理函数。该函数接收 pathname 参数,并在控制台打印“请求路径是:”后接路径名,用于在后台日志中区分不同的请求地址。此模块通过 exports.route 导出该方法,供其他模块调用以执行具体的路由逻辑。
function route(pathname){
console.log("请求路径是:" + pathname); //后台查看请求路劲 区分请求的地址
}
exports.route = route;
========================================
模块集成与入口调用
文件 index.js 作为入口文件,分别引入 server 和 router 模块。通过调用 server.start 方法,并将 router.route 作为参数传递,将路由处理逻辑注入到服务器启动流程中,从而完成从请求接收到路由分发的完整链路。
var server = require("./server");
var router = require("./route");
server.start(router.route);//传递給start的是router的route方法
NestJS 是什么?与 Express、Koa 的核心区别及选型建议
2026-11-05 13:46:41
生产环境升级 Node.js 的注意事项与兼容性测试策略
2026-11-05 09:19:24
nvm 常用命令详解:怎么平滑切换和升级 Node.js 版本
2026-11-04 09:02:34
JavaScript和JSP的根本区别:运行环境与执行机制解析
2026-11-03 23:30:18
使用nvm卸载指定版本Node.js并切换默认环境
2026-11-03 23:09:26
