# 目录结构
Lin 的前端部分,是在 vue-cli3 生成的模板项目的基础上开发而来的 。 当然对于本项目而言,你几乎可以不用关注 vue-cli3 的内容,如果你需要对 webpack 的配置进行更改,那么如果你对 vue-cli 的使用不熟悉,建议先阅读官方文档。 Lin 的开发遵循严格的目录结构和代码规范、我们希望你能对此达成共识,这非常有助于你后续的开发。
Lin 的前端部分代码结构如下:
├───public // 公共资源目录,该目录webpack原封打包
│ ├───icons // icon图片存放目录
│ │ favicon.ico // 本站favicon图片
│ │ iconfont.css // 阿里iconfont文件
│ │ index.html // template模板
│ │ robots.txt // Robots协议
├───script // 脚本
├───src
│ ├───assets // 静态资源文件存放目录
│ ├───component // 布局组件及业务基础组件
│ │ ├───layout // layout布局组件
│ │ ├───base // 通用基础组件库(包含element-ui二次封装组件)
│ ├───config // config配置项
│ │ ├───stage // 路由配置文件
│ │ │ error-code.js // 与服务端约定的错误状态码
│ │ │ index.js // 前端自定义配置项
│ ├───lin // Lin CMS核心库
│ │ ├───directive // 全局指令
│ │ ├───filter // 全局过滤器
│ │ ├───mixin // 全局mixin
│ │ ├───model // model层
│ │ ├───util // 各种工具函数
│ ├───plugin // 插件
│ ├───router // 前端路由
│ │ ├───home-router.js // 菜单路由
│ │ ├───index.js // vue-router入口文件
│ │ ├───route.js // vue-router路由配置
│ ├───store // vuex状态管理文件
│ ├───view // 业务组件
│ │ app.vue // vue根组件
│ │ main.js // webpack打包入口
│ babel.config.js // babel配置文件
│ .browserslistrc // 适配浏览器版本
│ .eslintrc.js // eslint配置文件
│ .gitignore // git上传忽略文件
# 解释说明
在上面我们针对每个目录都做了相应的注释,不过下面还有几个文件夹需要额外说明一下
- public/icons 文件夹
菜单栏的 icon 图标我们推荐用阿里的iconfont,但是这并不满足一些同学需要用设计师设计的指定图标,所以我们提供了相应的机制,可以在路由配置文件直接填写路径。把 icons 文件夹放到 public 下,是因为任何放置在 public
文件夹的静态资源都会被简单的复制,而不经过 webpack
。
{
title: '添加图书',
type: 'view',
name: 'bookAdd',
route: '/book/add',
filePath: 'views/book/BookAdd.vue',
inNav: true,
// icon: 'iconfont icon-demo', // 二选一,如果你的 icon 需要引用自己的图片文件
icon: 'icons/your-icon.png',
},
- src/config/stage/ 文件夹
这里注意,路由文件是以配置项形式提供,vue-router 读取的是这里的配置项文件
# 小结
希望通过阅读本小节,使你对 Lin 的前端部分有了初步的了解。通过目录结构不难看出,项目使用了大量的组件封装,这其实也是一种设计思想,让每个模块只做好一件事。
另外如果有疑问,请在 issue 中提出,我们会及时回复并处理。