前言
Node+express+mongoose+Layui构建管理后台(一)中说了基本环境的搭建,接下来先搞定界面UI部分,Demo位置,当初是先完成界面UI的开发,然后把打包压缩好的界面HTML文件放到express里。
Layui
Layui是一款采用自身模块规范编写的国产前端UI框架,类似于前一两年大火的bootstrap框架,个人认为Layui的UI组件明显少于bootstrap,但是在功能的拓展性和与页面的交互上L强于B。
- Layui自带结构
1 | ├─css //css目录 |
- Layui 定义为“经典模块化”
1 | //layui模块的定义 |
- 自定义模块引入
1 | //加载一个自定义模块 |
还有其他一些功能,具体到Layui官网上查找。
后台UI目录结构
1 | ├── app.js//加载自定义模块和设定子页面加载模式 |
自定义模块
- fetch
Fetch 的出现就是为了解决 XHR 的问题
使用 XHR 发送一个 json 请求一般是这样:
1 | var xhr = new XMLHttpRequest(); |
使用 Fetch 后,顿时看起来好一点
1 | fetch(url).then(function(response) { |
使用 ES6 的 箭头函数 后:
1 | fetch(url).then(response => response.json()) |
上面使用 Promise 的写法还是有 Callback 的影子,下面使用 async/await 来做最终优化:
1 | try { |
- config
定义环境变量 - route
子页面路由跳转,设置面包屑导航 - tab
设置页面选项卡 - view
模版渲染 - commom
错误提示 - method
网上下载功能源码修改成自定义模块,以供layui识别
修改方式:增加一个识别条件
1 | (function webpackUniversalModuleDefinition(root, factory) { |
- echarts
百度的纯Javascript的图表库