1、路由是什么?
路由简单来说就是url到函数的映射 如/books -> getBooks(),当访问/books时,会执行getBooks()函数。通常来说,就是随着浏览器地址的变化,展示给用户不同的页面。
在我的理解来说,路由可以分为前端路由和后端路由。
2、router是什么?
和route的关系 router 可以理解为一个容器,管理一组route。当接收到一个url,就会去路由映射表里查找相应的函数。
3、服务端路由(后端路由)
当服务器接收到客户端发来的请求,会根据请求的URL,来找到相应的函数,然后执行函数,并将函数的返回值发送给客户端。
app.get('/', (req, res) => { res.sendFile('index') }) app.get('/users', (req, res) => { db.queryAllUsers() .then(data => res.send(data)) })
如上,定义了两条路由:
访问/,会返回index页面
访问/users,会返回从数据库查询的user数据
注意:在router匹配route的过程中,不仅会看url,还会看请求方式,如用post方式来访问/users,就找不到正确的路由
4、前端路由
对于前端路由来说,路由的映射函数通常是进行一些DOM的显示和隐藏操作。这样,当访问不同的路径的时候,会显示不同的页面组件。
- hash模式
如xxx.com/#xqajla,#xqajla即hash值
- history模式
- VUE Router
参考文章:https://zhuanlan.zhihu.com/p/24814675
ps:今天在测试过程中遇到了点击页面未正常跳转至相应地址,发现是路由未变化,打算了解下路由。
原创文章,作者:sunnyman218,如若转载,请注明出处:https://blog.ytso.com/271781.html