Vue 开发规范
0. 遵循的大 JS 规范
遵循 Airbnb
的 eslint
规范
1. 版本选择
- 选择
vue2.0
最新版本进行开发 - js版本,选择
es6、7
进行开发,只要babel
支持转义就 OK
2. 语法规范
- 无特殊说明的话,vue的命名、缩进,与JS的命名规范一致,遵循
Airbnb
的eslint
规范
2.1 vm 对象
实例化的 vm 对象,统统以 *Vue
来命名,如主界面的 Vue 对象,使用 mainVue
2.2 传参的回车方式
一个参数一个回车,前面对齐
// bad <li v-for="item in templateList" @click="chooseModal(item.id,item.activityTypeId)" @mouseenter="mouseoverFun(item.id)" @mouseleave="mouseoutFun"> // good <li v-for="item in templateList" @click="chooseModal(item.id,item.activityTypeId)" @mouseenter="mouseoverFun(item.id)" @mouseleave="mouseoutFun" >
3. 公用部分
3.1 过滤器编写
通用的过滤器方法,如日期、图片等,写到公用的 commonFilter.js
方法里面,全局引用
单个使用的过滤器方法,放到单独的业务代码之中
3.2 指令编写
类似于过滤器,必要的话,提出公共的来
3.3 static 文件夹
该文件夹只放不能被 webpack 处理的 css 与 JS 文件,如 baseCore.css
、modify.css
其余的类似 config.js
,需要放到 src 下面,被 webpack 处理
3.4 svg split
公用的一大堆svg元素,不能直接写到 index.html
中,需要处理到单独组件中,保证 index.html
干净
4.插件选择
vue自带的靠谱插件,vue router
、vuex
、vue resource
,其余的,呵呵
4.1 日期插件
选择 my97date
,这个可以做双向数据绑定
千万不能使用 laydate
,有bug,扩展性也不行
4.2 ajax 插件
vue官方推荐axois,但是这个不支持 jsonp,可以使用 vue resource
来支持 jsonp
4.3 radio 美化插件
自写样式,替代icheck
插件,实现双向数据绑定
5. 单文件组件
- 三大模块顺序
template
——script
——style
,顺序放置 - 模块直接,保留一个空行
- 自定义的模块,要放到最后
- style,要添加
scoped
,如果是多处用到的样式,写到modify.css
里面 - script里面代码顺序
- import
- export
- name
- mixins
- components
- props
- data
- computed
- watch
- method
- 周期钩子
- 按周期调用
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
上一篇: 从 Vue 打包文件看项目 JS 引用
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论