Node.Js - 路由Router

Node.js简易路由实践
本文通过四个核心文件:server.js、index.js、router.js 和 requestHandler.js 的具体实现,介绍了如何在 Node.js 中构建基本的路由功能。示例中包含了启动服务器、定义路由逻辑以及处理请求的具体代码。

参考博客:Node初学者入门,一本全面的NodeJS教程


Node.Js的环境搭建略过,关于路由需要以下4个文件:

  • server.js
  • index.js
  • router.js
  • requestHandler.js

//server.js
var http = require("http");
var url = require("url");

function start(route, handle){
  function onRequest(request, response){
    var pathname = url.parse(request.url).pathname;
    console.log("Request for "+ pathname +" received.");

    route(handle, pathname);

    response.writeHead(200,{"Content-Type":"text/plain"});
    response.write("Hello World");
    response.end();
  }

  http.createServer(onRequest).listen(8888);
  console.log("Server has started.");
}

exports.start = start;

//index.js
var server = require("./server");
var router = require("./router");
var requestHandlers = require("./requestHandlers");

var handle ={}
handle["/"]= requestHandlers.start;
handle["/start"]= requestHandlers.start;
handle["/upload"]= requestHandlers.upload;

server.start(router.route, handle);

//router.js
function route(handle, pathname){
  console.log("About to route a request for "+ pathname);
  if(typeof handle[pathname]==='function'){
    handle[pathname]();
  }else{
    console.log("No request handler found for "+ pathname);
  }
}

exports.route = route;

//requestHandler.js
function start(){
  console.log("*******Request handler 'start' was called.*******");
}

function upload(){
  console.log("*******Request handler 'upload' was called.*******");
}

exports.start = start;
exports.upload = upload;







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值