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