在看node.js实战connect部分,上面说到挂载function admin( req, res, next ) { switch ( req.url ){ case "/": res.end( "try/users" ) break case"/user": res.setHeader('Content-Type', 'application/json' ) res.end( JSON.stringify(['hello', 'world']) ) break }}case用的字符串是/和/user而不是/admin和/admin/users。这是因为在调用中间件之前,Connect从req.url中去掉了前缀,就像url挂载在/上一样。req.url前缀是什么如果url是 /a/b/c/d 那么前缀是/a/b/c??还有这里case "/" , case"/user" url什么时候会分别响应??
1 回答
繁星淼淼
TA贡献1775条经验 获得超11个赞
在这里, admin 只是方法名,不会影响 req 中任何变量的值
假设ip:port 为 127.0.0.1:3000
req.url 是访问路径中去除 127.0.0.1:3000 的部分,
'/' 对应路径 127.0.0.1:3000 或 127.0.0.1:3000/
'user' 对应路径 127.0.0.1:3000/user
添加回答
举报
0/150
提交
取消