一、命名规则(推荐)
- 1.根目录名单词用中划线分割
- 2.目录命名:单词采用中划线方式分割
- 3.文件命名:采用小驼峰式命名法
- 4.组件/页面命名:采用大驼峰式命名法
所有文件、方法、参数的命名,都尽量使用两个或两个以上的完整单词,将语义表达清楚,尽量避免使用含义不明确的单词缩写以及数字。
二、目录结构
a. api - 接口配置,统一管理(应按照后端接口模块建立对应js文件)
b. assets - 静态文件存放位置
c. components - 公用组件
d. filters - 全局过滤器
e. router - 页面路由,统一管理
f. store - vuex,统一管理
g. styles - 全局css样式表
h. utils - 全局工具方法
i. views - 视图目录
三、vue单文件属性命名顺序
export default{
name: 'xxx',
components: { },
mixins: [ ],
props: {},
data(){ return{} },
provide() { },
inject: [ ],
watch: { },
computed: { },
activated(): { },
deactivated(): { },
beforeCreate() { },
created() { },
... }
记忆顺序: name -> 子组件 -> mixin -> props 和 data -> provide 和 inject -> watch 和 computed ->keep alive -> 生命周期
其中method方法命名
a. 使用camelCase风格, 统一使用动词+名词形式,例如showDialogBox、hideDialogBox;
b. 动词常用选项,get(单选)、list(多选)、add、update、delete、show、hide等(常用的尽量选这几个,除此之外,不做强制限定,但是风格尽量保持统一);
c. 获取接口数据的方法,以data结尾,便于识别(例如listOrdersData、getOrderData);
d. api内的接口方法,统一用api作为后缀,例如(listOrdersApi、getOrderApi)。
e. 像查询数据之类的方法,如果多个方法分别按不同的条件查询,可以在后面加上by来识别(例如,getItemById、getItemByCode)。
四、css规范
- 移动端多使用flex布局;
- 单一职责,能用css实现的,不使用js;
- 移动端建议使用rem作为计算单位;
- vue组件内部的style,应加上scoped的标签设定作用域,防止组件之间的样式互相影响。如果多个组件公用的样式,应该整理之后提升到全局公用样式表;建议使用类选择器,尽量避免使用元素选择器;
- css的样式属性,应该按照一定的顺序书写,养成习惯,对于开发效率和后期维护都有裨益。声明顺序可参考下表(从左到右,从上到下):
记忆顺序:显示属性(放哪,怎么放)-> 盒子属性(盒子长啥样) -> 文本熟悉和其他(盒子内部装修)
五、代码风格
- 编码使用ES6风格
- js内使用单引号
- 指令缩写,v-for必须加key,避免v-if和v-for一起用
- props定义需要详细,写注释
- 公共组件使用说明,务必添加注释,单行注释用//(另起一行)
- 前端调试时用的console.log(),调试完要及时删除;
- 尽量将大段逻辑拆分成多个代码块,避免大段代码造成阅读困难;