理解web路由:
路由:URL到函数的映射
Router与route:
Route是一条路由:
如:/users - - > 调用 getAllUsers()函数
/users/count/ - - > 调用 getUsersCount()函数
就是把路径与函数进行一一对应,通过路径信息调用特定的函数
Routers则负责管理route与函数之间的映射关系
服务器路由:(此部分为转载)
以Express为例,
app.get('/', (req, res) => {
res.sendFile('index')
})
app.get('/users', (req, res) => {
db.queryAllUsers()
.then(data => res.send(data))
})
这里定义了两条路由:
- 当访问/的时候,会返回index页面
- 当访问/users的时候,会从数据库中取出所有用户数据并返回
客户端路由:
客户端常为浏览器,路由的映射函数一般是对DOM的操作,不同的路径显示不同的页面组件:
(1)基于Hash
Hash路由兼容性更好
url中的#后面部分为hash:
实例:
const url = require('url')
var result = url.parse('http://example.com/a/b/#/foo/bar')
console.log(result)
运行结果: