Skip to content

Latest commit

 

History

History
89 lines (59 loc) · 2.18 KB

18.md

File metadata and controls

89 lines (59 loc) · 2.18 KB

Express路由

在express中,路由是指的是客户端的请求和服务端处理函数之间的映射关系

express中的路由分为三个部分,分别是请求的类型,请求的URL地址,处理函数

app.METHOD(PATH,HANDLER)

例子

app.get('/',function(req,res){
	res.send("hello world!")
})

app.post('/',function(req,res){
	res.send('Got a POST request')
})

当每一个请求达到服务器之后,需要先经过路由的匹配,只有匹配成功之后,才会调用对应的处理函数

在匹配的时候,会按照路由的顺序进行匹配,如果请求类型和请求的URL同时匹配成功,则express会将这次请求交给对应的function函数进行处理

路由

我们已经了解了 HTTP 请求的基本应用,而路由决定了由谁(指定脚本)去响应客户端请求。

在HTTP请求中,我们可以通过路由提取出请求的URL以及GET/POST参数。

接下来我们扩展 Hello World,添加一些功能来处理更多类型的 HTTP 请求。

创建 express_demo2.js 文件,代码如下所示:

express_demo2.js 文件代码:

var express = require('express');
var app = express();
 
//  主页输出 "Hello World"
app.get('/', function (req, res) {
   console.log("主页 GET 请求");
   res.send('Hello GET');
})
 
 
//  POST 请求
app.post('/', function (req, res) {
   console.log("主页 POST 请求");
   res.send('Hello POST');
})
 
//  /del_user 页面响应
app.get('/del_user', function (req, res) {
   console.log("/del_user 响应 DELETE 请求");
   res.send('删除页面');
})
 
//  /list_user 页面 GET 请求
app.get('/list_user', function (req, res) {
   console.log("/list_user GET 请求");
   res.send('用户列表页面');
})
 
// 对页面 abcd, abxcd, ab123cd, 等响应 GET 请求
app.get('/ab*cd', function(req, res) {   
   console.log("/ab*cd GET 请求");
   res.send('正则匹配');
})
 
 
var server = app.listen(8081, function () {
 
  var host = server.address().address
  var port = server.address().port
 
  console.log("应用实例,访问地址为 http:https://%s:%s", host, port)
 
})

image-20220426230116284