Express 的 URL 路由,如何匹配某个固定 URL 路径下的请求,比如/api

2014-05-27 11:46:06 +08:00
 WildCat
最近在做一个json api接口,需要匹配/api下的请求。
想要的实现是这样的:

app.path('/api', function(app){
// 匹配 /api/site_info
app.get('/site_info', someAction);
});
5434 次点击
所在节点    Node.js
8 条回复
jasya
2014-05-27 11:54:51 +08:00
req.params
zoowii
2014-05-27 11:58:47 +08:00
没用express
不过这种东西就算没有,自己封装一层context也可以了吧?
比如
var ctx = context(['GET', '/info', ...]);
app.path('/api', ctx)
kfll
2014-05-27 12:08:43 +08:00
// http://expressjs.com/4x/api.html#router

var router = express.Router()
router.get('/site_info', someAction);
router.get('/member_info', yetAnotherAction);

app.get('/api', router);
heroicYang
2014-05-27 13:01:38 +08:00
@kfll 正解
不过这是 4.x 的 feature,哈哈~
luin
2014-05-27 13:12:44 +08:00
可以看我写的文章:
http://zihua.li/2014/05/good-practices-to-structure-an-express-app/

具体来说可以使用 app.use('/app', subApp);,然后 subApp.get('/site_info' , func)。类似 namespace
WildCat
2014-05-27 13:26:03 +08:00
@luin 谢谢,我在用4.x,直接用express.Router()啦。
luin
2014-05-27 13:43:49 +08:00
@WildCat 嗯嗯,在 4.0 用 subApp 也有不少优势,比如 app 间隔离,松耦合啥的
mytharcher
2014-05-27 14:07:46 +08:00
加上 npm install rainbow 效果更好

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/114450

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX