node.js - express路由问题
仅有的幸福
仅有的幸福 2017-05-16 13:42:27
[Node.js讨论组]
1////////////////////////////
var express = require("express");
var app = express();
var apiRouters = express.Router();   //这里定义了一个路由
apiRouters.get("/index",function(req,res){
 res.send("123"})
})
 app.use("/api",apiRouters)    //调用app.use的api路由才能调用apiRouters路由 
2///////////////////////        
var express = require("express");
var app = express();
                                  //这里没有定义一个路由
 app.get("/api",function(req,res){
 res.send("111"})
})
                            //这里没有调用

第一个127.0.0.1:**/api/index 能访问到123
第二个127.0.0.1:*/api 能访问到111

第一个跟第二个代码不一样但是都能实现相同的效果,
这是为什么,还是我哪里理解出错了?

仅有的幸福
仅有的幸福

全部回复(2)
为情所困

use("/api", processor) : 相对路径中以'/api'开头的url都可以被 use截获到,而且不关心请求的方式是get还是post。"http://yourdomain/api", "http://yourdomain/api/index"都可以被它捕获到。
get("/api", processor): 相对路径必须等于'/api'才能捕获到, 只有"http://yourdomain/api"能被捕获到,并且请求方式为“get”。

过去多啦不再A梦

express router本身是个中间件,就和它的名字一样,它的任务是分配不同请求到不同的路由下面。如果你要做哦API的版本控制,你可能会有/api/v1/user和/api/v2/user两种路由,这时候router根据路由的设置调用不同的API。express本身是个object,对它的操作是可行的,但并不规范

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号