在此之前,我们要了解该框架下几个重要的布局组件:
我们以默认的路由/#/dashboard/workplace 为例,看下页面如何展示对应组件。
框架中如果没有设置使用异步路由,默认路由在router/config.js中,dashboard配置的路由如下
如上,访问根路径会被重定向到#/login,登录成功后会重定向到/#/dashboard/workplace。
路由匹配三级:1)根路径 2)/dashboard路径 3)/dashboard/workplace
路由匹配到根路径,并加载TabsView组件到App.vue中指定的router-view中,我们来看下TabsView组件。
它位于@layouts/TabsView.vue中,主要有AdminLayout包裹contextmenu(右键菜单)、tabsHead(多tab标签栏)以及下级路由渲染的router-view组成。
整个页面的展示如下
dashboard匹配加载BlankView,BlankView是一个空白页面,主要包含切换动画和router-view
还有另外一种PageView,包含了 PageLayout 布局和路由视图内容区
展示如下
异步加载@/pages/dashboard/workplace下的组件,并渲染到BlankView组件中
在workplace组件中,主要使用antd组件库中的 Grid布局
以上为vue-antd-admin框架的布局和渲染流程,接下来剖析左侧菜单以及路由解析规则的生成
通过 src/settings.js 进行全局配置:
get-page-title.js 在 src/permission.js 中被引用
修改 package.json
执行命令启动
中间件是一个函数,请求和响应周期中被顺序调用
写一个中间函数
调用中间件注意事项:
应用如何响应请求的一种规则
响应 / 路径的 get 请求
响应 / 路径的 post 请求
规则主要分两部分
通过自定义异常处理中间件处理请求中产生的异常
使用时需要注意两点:
浏览器输入 http://localhost:5000/user
安装 boom 依赖,最大的好处是可以快速的帮我们生成一些异常信息
app.js
创建 router 文件夹,创建 router/index.js
创建 router/user.js
创建 router 文件夹,创建 router/constant.js
启动,访问根路径 http://localhost:5000
这里指定的路由的前缀 /user 所有访问路径前要加 /user
访问 http://localhost:5000/user/info
访问一个不存在的路径
自定义路由异常处理中间件
注意两点:
访问一个不存在的路径时,会返回一个 json 的结果,方便前端做出处理