router.js

简介: 【10月更文挑战第24天】

在Node.js中,路由是处理不同URL请求的关键部分。你已经有了一个基本的服务器和路由框架,现在让我们来扩展这个路由功能,使其能够根据请求的URL路径来调用不同的处理函数。

首先,我们需要修改server.js文件,以便它能够使用router.js中定义的路由逻辑。然后,我们将在router.js中添加逻辑来处理不同的路径。

修改 server.js

我们将在server.js中引入router.js,并根据请求的路径调用不同的处理函数。

var http = require("http");
var url = require("url");
var router = require("./router"); // 引入router模块

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

    // 使用router模块来处理请求
    router.route(pathname, request, response);
  }

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

exports.start = start;

修改 router.js

router.js中,我们将定义不同的处理函数,并根据路径名调用它们。

function route(pathname, request, response) {
   
  console.log("About to route a request for " + pathname);

  switch(pathname) {
   
    case "/start":
      startRoute(response);
      break;
    case "/upload":
      uploadRoute(request, response);
      break;
    default:
      notFoundRoute(response);
  }
}

function startRoute(response) {
   
  response.writeHead(200, {
   "Content-Type": "text/plain"});
  response.write("Hello World! This is the start page.");
  response.end();
}

function uploadRoute(request, response) {
   
  // 这里可以添加处理上传逻辑
  response.writeHead(200, {
   "Content-Type": "text/plain"});
  response.write("Hello World! This is the upload page.");
  response.end();
}

function notFoundRoute(response) {
   
  response.writeHead(404, {
   "Content-Type": "text/plain"});
  response.write("404 Not Found");
  response.end();
}

exports.route = route;
目录
相关文章
|
7月前
egg.js 24.3-24.5router路由相关
egg.js 24.3-24.5router路由相关
46 0
|
7月前
|
JavaScript 前端开发 Java
js常用技巧汇总
js常用技巧汇总
|
7月前
|
JavaScript
什么是js?js的特点是什么?
什么是js?js的特点是什么?
|
7月前
|
JavaScript 前端开发
js详解1
js详解1
45 2
|
4月前
|
自然语言处理 JavaScript
js之this
js之this
32 1
|
5月前
|
JavaScript
vue.js学习-router-link
vue.js学习-router-link
|
7月前
|
监控 JavaScript
vue.js路由
vue.js路由
56 0
vue.js路由
|
7月前
|
JavaScript 数据安全/隐私保护 开发者
解决vue引发的报错-sub is not a function at vuex.esm.js:422:1跳转不了路由的问题
解决vue引发的报错-sub is not a function at vuex.esm.js:422:1跳转不了路由的问题
247 0
|
移动开发 JavaScript 前端开发
什么是js? js的特点是什么?
什么是js? js的特点是什么?
86 0
|
前端开发
dva.js初识
dva.js初识
55 0

热门文章

最新文章