0
假设我有一个网址,像快递路线 - 做一个url params.id最好的方式服务于静态和动态内容
www.foo.com/abc
www.foo.com/huyr
... etc
其中“ABC”和“huyr”在这个例子中的ID和我” d从数据库中获取关键是那个id的信息。
但是假设我也想静态链接(即会提供静态网页),遵循相同的URL格式:
www.foo.com/about
www.foo.com/contact
什么是做到这一点的最好方法是什么?
现在我心里有这样的事情
exports.view = function(req, res) {
var id = req.params.id
switch (id) {
case 'about':
// load 'about' controller
break
case 'contact':
// load 'contact' controller
break
default:
// proceed with this function
}
}
这是最好的方法?有没有更高效/有组织的方式来做到这一点?
导致去这种方式,但是,app.get(“/:身份证”,CB)似乎总是被调用(我把它作为最后途径)。我有它的控制台日志,也不管网址我去的,我看到的console.log输出 – sqram
app.get('/:ID,CB)应该总是让呼吁除它以外以上这样的目录(约/联系)。除非你从about/contact路由中调用'next()',否则express将尝试匹配下一个东西,这将是'/:id'。所以,如果你的话,不要从你的'静态'页面路由中调用next()。 – Chris
我不知道。但这超出了这个问题的范围。我会弄清楚。谢谢! – sqram