ExpressJS - 路由(Routing)

ExpressJS - 路由(Routing) 首页 / ExpressJS入门教程 / ExpressJS - 路由(Routing)

Web框架在不同的路径上提供HTML page,script, images 等资源,以下函数用于在Express应用程序中定义routes路由-

app.method

该方法可以应用于任何HTTP 请求方法–get,set,put,delete,处理程序是一个回调函数,当在相关routes上找到匹配的请求类型时执行。如,

var express=require('express');
var app=express();

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

app.listen(3000);

如果无涯教程运行应用程序并转到 localhost:3000/hello ,则服务器在路由"/hello" 处接收到一个get请求,Express应用程序将执行回调函数,并发送" Hello World!" 作为响应。

Hello

也可以使用多种不同的方法。如,

var express=require('express');
var app=express();

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

app.post('/hello', function(req, res){
   res.send("You just called the post method at '/hello'!\n");
});

app.listen(3000);

要测试此请求,请打开您的终端并使用cURL执行以下请求-

curl -X POST "http://localhost:3000/hello"
Curl request

Express提供了一种特殊的方法 all ,以使用相同的函数处理特定路径下所有类型的http方法,若要使用此方法,请尝试以下操作。

app.all('/test', function(req, res){
   res.send("HTTP method doesn't have any effect on this route!");
});

此方法通常用于定义中间件,将在中间件一章中进行讨论。

Routers 路由

定义上述routes非常繁琐。为了与routes与主 index.js 文件分开,无涯教程将使用 Express.Router 。创建一个名为 things.js 的新文件,然后在其中键入以下内容。

无涯教程网

var express=require('express');
var router=express.Router();

router.get('/', function(req, res){
   res.send('GET route on things.');
});
router.post('/', function(req, res){
   res.send('POST route on things.');
});

//export this router to use in our index.js
module.exports=router;

现在要在 index.js 中使用此routes,请在 app.listen 函数调用之前键入以下内容。

var express=require('Express');
var app=express();

var things=require('./things.js');

//index.js 和 things.js 都应该在同一个目录中
app.use('/things', things);

app.listen(3000);

访问localhost:3000/things /,您将看到以下输出。

Router Things

route 在分离问题和将代码的相关部分保持在一起方面非常有帮助,它们有助于构建可维护的代码。

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

人工智能基础课 -〔王天一〕

白话法律42讲 -〔周甲徳〕

玩转webpack -〔程柳锋〕

研发效率破局之道 -〔葛俊〕

接口测试入门课 -〔陈磊〕

图解 Google V8 -〔李兵〕

跟月影学可视化 -〔月影〕

深度学习推荐系统实战 -〔王喆〕

人人都用得上的数字化思维课 -〔付晓岩〕

好记忆不如烂笔头。留下您的足迹吧 :)