每个项目在最开始搭建的时候都需要划分若干个模块,确认项目规范,下面就让我们来讨论一下项目中如何划分模块。
本文还是基于vue-cli,代码GitHub - wangkai123456/learnVueAdmin at v2
大体思路
当拿到一个项目的时候我们首先要去想,我们会用到哪些东西,比如element-ui、vuex等等,还会用到vue本身的一些功能比如组件化、过滤器等等这些,所以我们基于我们用到的这些东西划分出来不同的模块。
组件模块
在做项目的时候我们可能会需要若干的组件,我们通常会把组件放到一个统一的目录(src/components)里面统一管理,然后会把组件注册成全局组件。然后在main(入口文件)引入。在使用的时候就不需要引入在注册组件,直接使用即可。
组件名一般与name一致
组件在index里面统一注册成全局组件,这里使用的语法不做过多解释,主要理解划分思路。
统一注册全局组件使用
需要插件的页面插件模块
我们项目中会引入若干大大小小的第三方插件比如element-ui、富文本、地图等等,通常这些会直接main.js(项目入口文件)文件直接引入这样的话会导致main文件异常的臃肿,所以我们会编写一个插件模块,来统一导出我们用到的插件,然后在main文件直接引入。在src目录下新建plugins目录,然后根据现有的插件分别创建几个文件比如element-ui 就创建一个element-ui文件
src/plugins/element-ui统一导出所有插件
导出插件过滤器模块
项目中可能会有时间戳转换成时间或者百分位加逗号等,这类需求大多都是通过过滤器来完成,所以我们需要一个过滤器模块,在src目录下新建一个filters目录,每个过滤器就是一个文件,然后在index里面统一注册成全局过滤器,最后在main(入口文件)引入。下面以时间过滤器为例
编写时间过滤器(可能有点乱😢,主要看思路)
时间过滤器在index里面统一注册,使用的时候,不需要引入和注册
过滤器统一编辑通用方法模块
项目中会有一些通用的逻辑可能很多个文件都需要,所以我们把那些通用方法都放到一个目录下,然后配置一下webpack的配置在需要的页面引入使用。在src目录下新建utils目录,根据不同的功能编写不同的文件然后统一导出,下面以分页方法为例
编写分页功能
分页功能index 文件统一导出
统一导出通用方法由于我们会在不同的文件里经常使用这些通用方法,所以我们在webpack里面配置一个通用的路径
配置路径页面使用
引入使用即可API(网络请求)模块
我们把所有的网络请求按照功能分模块分别放在src下的api目录下,比如登录功能属于Account模块,那么我们就在api目录下新建Account文件,然后在index里统一导出。
Account文件
Account文件index文件统一导出api,然后我们想配置utils的路径一样配置一下api 的路径。api模块里面的函数,使用和utils一致
index统一导出api统一在main(入口文件)引入
总结
以上就是一些项目的基础配置,当然还有很多没有拿出来讨论,比如路由,vuex等等这些,在实际做项目的时候还会遇到很多可以单独拿出来的模块,基本思路就是按照功能划分,然后统一导出,方便实用。大家有哪些地方希望一起讨论的欢迎留言。
网友评论