为了让vue项目代码更好的组织和架构,我们在开发vue前端项目时,我们最好在开发工具和代码书写方式上遵循一些基本的约定。
开发工具约定
- 使用IDE或Webstorm
- Vue.js单文件组件的高亮及语法支持http://blog.csdn.net/Dcatfly/article/details/53123318
- 统一代码缩进格式:
- 打开editor-code style-javascript,将tabsize、indent、continuation indet设置为2
- 项目根目录中添加.editorconfig文件,配置代码格式12345678root = true[*]charset = utf-8indent_style = spaceindent_size = 2end_of_line = lfinsert_final_newline = truetrim_trailing_whitespace = true
js约定
- 变量名和方法名采用驼峰命名法,尽量让命名具有识别性。
- 保持代码干净,不必要的字段和方法记得删除
- 尽量采用箭头表达式,去除掉
let that=this
之类的代码,箭头表达式可以根据上下文自动关联到外部的this对象 - 一个方法内的代码,尽量不要超过30行
- 同一段代码有两三处都使用了,一定要去抽取出来
- js变量申明采用const或let,避免使用var
css约定
- 书写顺序
- 位置属性(position, top, right, z-index,display, float等)
- 大小(width, height, padding, margin)
- 文字系列(font, line-height, letter-spacing,color- text-align等)
- 背景(background, border等)
- 其他(animation, transition等)
- 如果设置的css属于只有两三个可采用内联样式(style),否则采用css类添加样式
- css类命名一律小写,连词时用中槓(nav-image),尽量不缩写,除非一看就明白的单词
- 公共样式单独写入公共文件中,后期可用less做变量或者混合使用
html约定
- vue绑定属性v-bind:请简写成:(v-bind:class–>:class)
- vue绑定时间v-on:请简写成@(v-on:click–>@click)
- 当vue组件的文件名为InfoAuthItem,在vue2.x版本中可以直接使用,不需要转换成小写1234<InfoAuthItem title="金融认证"content="提供个人客户消费贷、车商信用贷等金融服务":image="authFinance" @clickAuth="clickFinanceAuth" :status="financeAuthStatus"/><Divider/>
其他约定
- 如果一个效果或样式,会出现两次及以上请将其封装成组件
- 如果一个组件属于属于某一种业务特有的,请将其放入该业务包中的components中
- 所有vue组件文件命名采用PascalCase(InfoAuthPage.vue),页面级别的组件以Page结尾(InfoAuthPage.vue)
- 确保代码能够在chrome上调试
- Store中只存放公共数据(即该页面数据的生命周期不会随着页面destory而消亡),另外这些数据可采用module化进行管理,具体参考vuex如何实现模块
- 文件命名:
- vue组件文件命名采用PascalCase(如InfoAuthItem);其它js文件采用camelCase(commonUtil)
- css或less独立文件命名采用小写,连词时用中槓
- 图片等其它资源文件采用采用小写,连词时用中槓
目录结构
|
|