Vue+element搭建后台管理系统-四、文件目录结构详解

上一章我们讲到了编码规范和关于Vue的配置文件,继上一章的内容,我们继续完善项目架构-src目录。

系统代码的编写都是src下进行,所以这个的目录也一定是要清晰,这也是代表了整个项目开发流程和分工的清晰。

src目录结构如下:

 

│  App.vue
│  main.js
│  
├─api
│      login-api.js
│      
├─assets
│  │  logo.png
│  │  
│  ├─css
│  ├─font
│  └─images
├─components
│  │  HelloWorld.vue
│  │  
│  └─sass-table
│          sass-table.vue
│          
├─config
│      config.index.js
│      
├─libs
│      qq-map.min.js
│      
├─request
│      index.js
│      
├─router
│      index.js
│      routers.js
│      
├─store
│  │  index.js
│  │  
│  └─modules
│          common.js
│          user.js
│          
├─utils
│      index.js
│      
└─views
    └─login
        └─home
                index.vue

一、创建api目录

api顾名思义,接口嘛,那肯定就是用于存放请求服务器端接口的方法,无论是在小型项目还是大型企业级项目,都应该把所有的接口请求统一起来,方便管理和维护。大大减少后期维护费用。接口少了怎么写都不影响,但是实际开发中接口太多,像你的那种写法就得一个文件一个文件的改。麻烦。单页面写接口的话,要是你接口变动了,你还得一个一个页面去找,或者全局搜索接口找,你想一哈,光是找接口就得花大半天时间,得不偿失。具体实现看后续的篇章。

二、assets下子目录

assets目录用于存放的静态资源,比如全局的CSS样式文件、静态资源图片、字体文件等。有的同学会疑惑,静态文件存放目录不是static吗?

其实assets目录和根目录下的static目录都是存放静态文件的,那什么样的静态文件应该放在assets目录,什么样的静态文件应该放在static目录下呢?

assets里的文件编译过程中会被webpack处理理解为模块依赖,只支持相对路径的形式(也就是可以使用~@/assets/)。assets放可能会变动的文件。
static里的文件不会被webpack解析,会直接被复制到最终的打包(默认是dist/static)下,必须使用绝对路径引用这些文件。static放不会变动的文件。

三、components目录

顾名思义-组件目录。主要用于存放各式各样的全局组件,比如后台管理系统常用到的表格、表单等。引用到其他模块可以通过"@/components/sass-table/sass-table.vue"的方式。

四、config目录

config即配置文件,同样是为了方便统一管理。比如常用的服务器域名、地图key、城市静态数据等。

/* eslint-disable no-undef */
const CONFIG = {
    //开发环境
    development: {
        url: 'https://getman.cn/mock',
    },
    //生产环境
    production: {
        url: 'https://getman.cn/mock'
    }
}

export default CONFIG[process.env.NODE_ENV]

一般的话,都有配套有开发环境和生产环境,在项目运行或者打包的过程中,通过process.env.NODE_ENV返回的命令来判断用哪个环境的数据。

五、router

路由配置文件存放目录。

六、store

存放的是全局状态内容。

七、views

存放的是各模块页面文件,路由配置的也基本从这里导出的模块。

八、libs

存放的是外部库文件,主要是一些不支持npm安装的库。如:腾讯的地图插件。

九、request

存放的是请求接口的封装方法,如何具体实现后面会讲到。

十、utils

存放的是开发中自行编写的工具类。

目前我们开发的后台管理系统暂定现在的目录,后续如果应用到需求变化,肯定是可以自行添加的,只是需要记住,一定要做到高内聚、低耦合,遵循面向对象的开发方法,只有什么是高内聚、面向对象这些,相信读书的时候老师应该都教过了,我就不重复了。

好了,这章内容就讲到这里吧,下一章我们将学习如何封装接口请求方法。

 

posted @ 2022-04-18 18:01  padding2020  阅读(755)  评论(1编辑  收藏  举报
想了解更多的,大家也可以关注我的公众号:padding2020