在 Node.js 中,路由是用于确定如何响应客户端请求的机制。Node.js 没有内置的路由系统,但你可以使用第三方模块(例如 Express)来方便地实现路由。以下是一个基本的 Node.js 路由的概念和示例:

1. 原始方式实现简单路由:
   const http = require('http');
   const url = require('url');

   const server = http.createServer((req, res) => {
     // 解析请求的 URL
     const parsedUrl = url.parse(req.url, true);

     // 获取路径
     const path = parsedUrl.pathname;

     // 根据路径进行路由
     if (path === '/home') {
       res.writeHead(200, { 'Content-Type': 'text/plain' });
       res.end('Home Page');
     } else if (path === '/about') {
       res.writeHead(200, { 'Content-Type': 'text/plain' });
       res.end('About Page');
     } else {
       res.writeHead(404, { 'Content-Type': 'text/plain' });
       res.end('Not Found');
     }
   });

   const PORT = 3000;
   server.listen(PORT, () => {
     console.log(`Server is listening on port ${PORT}`);
   });

   在这个例子中,我们使用了 url 模块来解析请求的 URL,并根据路径进行基本的路由判断。如果路径是 /home,则返回 "Home Page",如果是 /about,则返回 "About Page",否则返回 "Not Found"。

2. 使用 Express 实现路由:
   使用 Express 框架可以更方便地定义路由。
   const express = require('express');
   const app = express();

   // 定义路由
   app.get('/home', (req, res) => {
     res.send('Home Page');
   });

   app.get('/about', (req, res) => {
     res.send('About Page');
   });

   app.use((req, res) => {
     res.status(404).send('Not Found');
   });

   const PORT = 3000;
   app.listen(PORT, () => {
     console.log(`Server is listening on port ${PORT}`);
   });

   在这个例子中,我们使用了 Express 框架,通过 app.get 方法定义了两个路由 /home 和 /about。如果路径不匹配任何已定义的路由,Express 将会使用 app.use 中的回调函数处理 404 错误。

使用 Express 等框架能够更方便地组织和管理路由,提高了代码的可读性和可维护性。 Express 还支持中间件,允许你在路由处理之前或之后执行一些逻辑。这使得 Node.js 应用程序的路由系统更加强大和灵活。


转载请注明出处:http://www.zyzy.cn/article/detail/4741/Node.js