前端Vue开发规范

这篇具有很好参考价值的文章主要介绍了前端Vue开发规范。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

为什么要有开发规范:

1.降低新成员融入团队的成本,同时也一定程度避免挖坑

2.提高开发效率、团队协作效率,降低沟通成本

3.实现高度统一的代码风格,方便review,另外可以提高项目的可维护性

4.规范是实现自动化的基础

5.规范是一个团队知识沉淀的直接输出

项目结构

node_modules        //存放项目所有的依赖
public              //存放静态资源,项目打包的时候webpack不会编译这个文件夹
src                 //存放项目源代码
   assets           //存放项目静态资源文件
     icon           //存放项目图标文件
     images         //存放项目图片文件
     styles         //存放项目样式文件
     video          //存放项目视频文件
   common           //存放项目公共文件
     axios          //存放项目axios文件
     commonJs       //存放项目公共Js文件
     constant       //存放项目常量文件
     controllers    //存放项目控制器文件
     mixin          //存放项目混入文件
     services       //存放项目服务器文件
     vuex           //存放项目vuex文件
   components       //存放项目组件文件
   router           //存放项目路由文件
   utils            //存放项目工具文件
   views            //存放项目视图文件
App.vue             //页面的入口文件
main.js             //程序入口文件
directive.js        //存放自定义指令文件
index.scss          //根样式文件

目录,文件,组件,组件结构命名规范:

    目录命名:

     全部采用小写方式,以中划线分隔,有负数结构时,要采用复数命名法,缩写不用复数。

     项目目录与其项目一级导航菜单统一,便于管理,二级导航放在一级导航文件夹下,以此类推

    文件命名:

     JS、CSS、SCSS、HTML、PNG命名,全部采用小写方式,以中划线分隔

    组件命名:

    组件名以单词大写开头,当多个单词拼写成的组件时,采用驼峰式命名规则。一般是多个单词全拼,减少简写的情况,这样增加可读性。

组件结构:

组件结构遵循从上往下template, script, style的结构

   

Template规范:

      1.尽量使用以.vue结束的单文件组件,方便管理,结构清晰

      2.标签语义化,避免清一色的div元素

      3.DOM的层级数尽可能少,优化渲染速度

      4.多特性,分行写,提高可读性。即一个标签内有多个属性,属性分行写。

      5.自定义标签:使用自闭标签的写法。

      6.v-slot:在vue2.6版本中,slot与slot-scope已被弃用,统一使用v-slot指令。

      7.不使用v-html指令

      8.不写过于复杂的表达式,使用计算属性来代替

      9.相同的卡片布局,首先整合数据,尽量使用循环方式去增加,避免变更多处的问题。

     10.v-for循环必须加上key属性,在整个for循环中key需要唯一,key一般使用index或者todo.id

     11.避免v-if和v-for同时用在一个元素上(性能问题),以下为两种解决方案:

         1).将数据替换为一个计算属性,让其返回过滤后的列表

         2).将v-if移动至容器元素上(比如ul,ol)

JS规范:

       1.在Script标签中,应该遵守JS的规范和ES6规范

       2.创建公共的JS,封装公用的方法和工具类

       3.声明变量必须赋值

       4.使用let、const替代var 

       5.匿名函数使用箭头函数

       6.避免回调地狱

       7.方法返回Promise,方便可以通过.then的方式进行链式调用

       8.获取异步的数据,按具体情况使用async/await操作

       9.三元运算符不嵌套

       10.使用map、object替代if、switch case条件取值

       11.慎用setTimeout

       12.无特殊情况下不允许使用原生API操作DOM,谨慎使用this.$refs直接操作DOM

       13.需要使用函数表达式的场合,尽量用箭头函数代替。因为这样更简洁,而且绑定了this。

       14.尽量使用===和!==

       15.整合数据时尽量使用ES6,Object.assign和...扩展符(ps:Object.assign()为浅复制)

       16.若循环中需使用函数,请将函数定义在循环外部而非内部,这样可以避免函数的反复创建。

       17.Props定义:提供默认值,使用Type属性校验类型,使用Props之前先检查Prop是否存在。

       18.当在组件中使用data属性的时候(除了new Vue外的任何地方),它的值必须是返回一个对象的函数。

       19.JS中统一使用反引号(``)或是单引号(''),不使用双引号(“”)

       20.避免v-if和v-for用在一起

       21.函数中统一使用_this=this来解决全局指向问题

       22.导入模块时不要省略后缀(js除外),这样有利于IDE感知(特别是.vue)

       23.弹窗、select等需要大量代码去实现,要以组件的方式引入

       24.应该把复杂计算属性分割为尽可能多的更简单的属性

       25.使用路由懒加载(延迟加载)机制

       26.组件懒加载,较复杂的组件可使用,建议多使用

       27.调试信息console.log(); debugger使用完及时删除

       28.减少作用域链的查找,减少全局变量、闭包的使用,能用局部缓存的尽量用局部缓存

 

Css规范:

        1.需要加上scoped作用域

        2.避免使用标签选择器(效率低、损耗性能)

        3.CSS属性书写顺序:先决定定位宽高显示大小,再做局部细节修饰!推荐顺序:定位属性(或显示属性,display)-> 宽高属性 ->边距属性(margin, padding)-> 字体,背景,颜色等,修饰属性的定义

图片规范:

        1.每个模块都要增加一个图片文件夹方便后期维护和处理,图片文件命名尽量跟模块意义的相同,尽量使用小写单词命名

        2.图片格式常用png, jpg, gif

        3.命名全部用小写字母,数字及中划线组合,其中不包含汉子、空格和特殊字符;尽量用易懂的词汇,便于团队其他成员理解;命名分头尾两部分,用中划线隔开,(例如:ad-left01.png、btn-submit.png)

        4.在保证视觉效果的情况下选最小的图片格式与图片质量,减少加载时间

        5.PC端img图片必须填写width、height、alt属性

        6.需要变动的文字禁止切到图片中,如果不能确定是否需要变动,请咨询接口人

        7.需要程序后台动态生成的图片,如道具图片、头像、奖品,必须单独切割出来

        8.装饰性图片合并成精灵图,减少页面请求

API规范:

1.API接口地址统一管理,接口较少时可以单独写一个接口文件JS,页面中使用哪些引入哪些

2.接口较多时,可对接口按模块进行分类,一个模块对应一个接口文件

其他:

1.文字超出容器需要进行‘...’省略

2.图片显示无特殊要求时,按原图宽高比显示,尽量不要变形

3.涉及数据处理功能按钮,增加防频繁点击处理

4.小图标尽量使用UI框架自带的icon图标

5.页面按钮颜色,样式,功能尽量统一

6.不同页面相同功能的提示文字尽量统一

命名规范:

1.变量名,文件名,组件名,文件名等遵循驼峰命名规则:多单词拼接首字母小写,如:userInfo、productInfo;同时遵循语义化规则,能直观明白意图,如:getUserInfo;setUserName

2.变量声明(var, let, const),定义常量使用const,定义变量尽量使用let

Vue规范:

编码规范,使用es6风格进行编码

1.解构赋值

2.箭头函数

3.正确使用模块,如果模块只有一个输出值,就使用export default,如果模块有多个输出值,就不使用export default, export default与普通的export不要同时使用

4.多个异步操作时使用Promise对象进行封装

Http基础知识:

1.什么是http:http是一种超文本传输协议

2.为什么要使用http来传输:http是可靠的安全的

3.http协议的请求方式是什么:http是一个基于TCP/IP通信协议来传递数据,包括文件、图像、结果等,即是一个客户端和服务器端请求和应答的标准。基本上用到的就是GET和POST,充其量再遇到个option请求。

4.http和https有什么区别:1)https有ca证书,http一般没有   2)http是超文本传输协议,信息是超文本传输协议,信息是明文传输。https则是具有安全性的ssl加密传输协议  3)http默认80端口,https默认443端口

5.http协议有什么特点:  1)http无连接:限制每次连接只处理一个请求,服务端完成客户端的请求后,即断开连接。(传输速度快,减少不必要的连接,但也意味着每一次访问都要建立一次连接,效率降低)  2)http无状态:对于事务处理没有记忆能力。每一次请求都是独立的,不记录客户端任何行为   3)客户端/服务器端模型:客户端支持web浏览器或其他任何客户端    4)简单快速    5)灵活:可以传输任何类型的数据

6.cookies机制和session机制的区别是什么:1)cookies数据保存在客户端,session数据保存在服务端  2)cookies可以减轻服务器压力,但是不安全,容易进行cookies欺骗   3)session安全一点,但是占用服务器资源

7.GET和POST的区别:get地址栏可见,post地址栏不可见

8.什么是Http协议无状态协议?怎么解决Http协议无状态协议?

无状态协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息。状态协议解决办法:通过1.Cookie   2.通过Session会话保存

9.http协议中302状态:http协议中,返回状态码表示重定向。这种情况下,服务器返回的头部信息中会包含一个Location字段,内容是重定向到url

10.http协议由什么组成:

请求报文包含三部分:请求行:包含请求方法、URI、HTTP版本信息;请求首部字段;请求内容实体。

Rem移动端适配原理:

根节点html设置font-size,

元素rem则是相对于根节点html  font-size的大小进行计算

前端组件开发的注意事项:

1.浏览器兼容性

2.响应式设计(可以通过使用CSS媒体查询和流体布局来实现)

3.前端性能优化

4.安全性

5.可访问性

6.代码维护性和可扩展性

前端性能优化:

使用缓存,压缩资源,减少HTTP请求,减少重绘和重排,使用CSS Sprites,使用CDN,优化图片,懒加载,异步加载,减少DOM操作,使用Web Worker,使用Service Worker,使用浏览器缓存,代码优化和测试优化等。通过这些方法,可以帮助开发人员更好地优化网站性能,提高用户体验。

Vue前端用户体验优化:

1.使用合理的组件结构:将页面分为多个小模块或组件,每个组件负责特定功能。这样可以更好地管理和复用代码,并提高项目的可维护性。

2.数据加载优化:对于大量数据的展示场景,可以使用虚拟列表(Virtual List)技术,只渲染当前视口内显示的部分数据,而不是全部加载到DOM中。同时,也要注意及时清除无效的数据,避免造成内存溢出等问题。

3.图片优化:对于网站上的图片,可以使用WebP格式、压缩算法等手段拉力减少文件大小,从而提高加载速度。此外,还应该根据设备像素比选择正确的图片版本,以保证最佳的显示效果。

4.路由切换动画:利用Vue Router提供的transition属性,可以添加页面之间的过渡动画效果,如淡入淡出、左右滑动等,提升用户交互体验。

5.错误处理与反馈机制:良好的错误处理机制可以有效避免因程序bug导致的页面崩溃或白屏现象。同时,建立友好的反馈机制,收集用户的意见和建议,改进产品质量。

6.移动端适配:对于需要支持多平台的移动端应用,可以使用CSS媒体查询和Flex布局等技术,自适应调整界面元素位置和大小,以达到良好的显示效果。

7.接口优化:对于后端API接口,可以通过合理的参数传递、返回值控制等方式,尽量减少服务器的计算和IO操作,提高接口的响应速度和系统性能。

8.单页面SEO优化:对于基于SPA的网站,可以使用vue-meta库来生成HTML标签,包括titile、description、keywords等信息,以提高搜索引擎的收录和排名。

9.打包工具优化:使用webpack等打包工具时,可以按需加载所需的第三方库和组件,减少初始加载时间;同时,还可以通过代码分割、Tree Shaking等技术来减小打包后的文件体积。

Vue开发建议:如何优化前端性能和用户体验

1.合理使用Vue的响应式系统

避免频繁地对数据进行不必要的观察(watch)和更新;

在处理大量数据时,可以考虑使用Vue的计算属性,将一些复杂或频繁变化的数据进行缓存,避免重复计算;

对于不需要监听的数据,可以通过Object.freeze()或者Vue.set()等方式来禁止响应式系统对其进行监听,提升性能;

2.合理使用组件化开发

Vue提倡组件化开发,这种开发模式有利于代码的复用和维护。但是,如果组件划分不合理或者组件逻辑过于复杂,在页面渲染和组件交互方面可能会存在性能问题。

为了优化性能,应该将大型组件进行拆分,将其划分为多个子组件,并通过props和events来组织各组件之间的通信。此外,还可以通过异步组件来延迟加载一些不是首次渲染必须的组件,从而提升首屏加载速度。

3.合理使用路由和状态管理

在Vue应用中,合理使用路由和状态管理(如vuex)同样对性能和用户体验至关重要。在设计路由和状态管理时,需要避免过度嵌套和冗余数据的使用。

针对路由,可以考虑使用路由懒加载来延迟加载不同页面所需的资源,提升页面的加载速度。

对于状态管理,可以避免过度使用全局数据和过多的状态共享。在实际应用中,可以通过模块化的方式来划分状态,将复杂的全局状态分解成多个模块,这样可以更好地进行状态管理,也能够在一定程度上提升性能。

4.优化网络请求和数据加载

尽量减少不必要的网络请求,合并、压缩和缓存请求,以提升页面加载速度和用户体验。

对于大量数据的加载,可以采用分页加载和懒加载技术,逐步加载数据,减轻页面的压力,避免一次性加载过多数据而导致页面响应缓慢。

5.进行性能优化和代码压缩

性能优化和代码压缩,包括但不限于:压缩JS/CSS,使用CDN加速,启用Gzip压缩,使用缓存等技术手段来减少网络传输数据量,提高页面加载速度。文章来源地址https://www.toymoban.com/news/detail-820023.html

到了这里,关于前端Vue开发规范的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 《Vue.js前端开发实战》课后习题答案

    本答案仅供参考,禁止用于抄袭等不法用途 一、 填空题 用户界面 ViewModel refs vue-devtools 组件 二、 判断题 对 对 对 对 对 三、 选择题 D C D A A 四、 简答题 请简述什么是Vue。 Vue(读音/Vjuː/,类似于View)是一套用于构建用户界面的渐进式框架,与其他大型框架相比,Vue被设计

    2024年02月03日
    浏览(57)
  • 常见的web前端开发框架:Vue.js

            常见的Web前端开发框架包括Bootstrap、Vue.js、React.js、Angular.js等。每个框架都有其独特的特点和优势,开发者可以根据项目的需求和个人的喜好来选择合适的框架。同时,随着技术的不断发展,新的框架和工具也会不断涌现,为Web前端开发带来更多的选择和可能性。

    2024年02月20日
    浏览(46)
  • Vue.js 3 项目开发:迈向现代化前端开发的必经之路

    随着前端技术的不断发展,Vue.js作为一种轻量级的JavaScript框架,已经逐渐成为了前端开发者的首选。Vue.js 3有哪些新特性、优势以及如何高效地进行项目开发呢? Vue.js是一种用于构建用户界面的渐进式框架。它的核心库专注于视图层,易于与其他库或现有项目集成。Vue.js 3是

    2024年01月23日
    浏览(50)
  • 在前端开发中,何时应该使用 jQuery,何时应该使用 Vue.js

    如果您是最近才开始进入 Web 前端开发领域的开发人员,那么您可能会听说过 jQuery。jQuery 是一个小巧而功能强大的 JavaScript 库,旨在简化跨浏览器 DOM 操作、事件处理、动画效果和 AJAX 等方面的操作,可以让开发人员更轻松地开发出高质量的网站和 Web 应用程序。 何时应该使

    2024年02月02日
    浏览(49)
  • Vue前端规范【一】

    这些规则有助于防止错误,因此请不惜一切代价学习并遵守这些规则。 例外可能存在,但应该非常罕见,并且只能由具有 JavaScript 和 Vue 专业知识的人进行。 使用多词组件名称 用户组件名称应始终为多字,但 root 除外 App 组件。 这 可以防止 与现有和将来的 HTML 元素发生冲突

    2024年01月20日
    浏览(75)
  • Vue前端规范【二】

    在大多数项目中,这些规则被发现可以提高可读性和/或开发人员体验。如果你违反了它们,你的代码仍然会运行,但违规应该是罕见的,而且有充分的理由。 每当构建系统可用于连接文件时,每个组件都应位于其自己的文件中。 这有助于您在需要编辑组件或查看如何使用组

    2024年01月23日
    浏览(38)
  • vue前端开发中,通过vue.config.js配置和nginx配置,实现多个入口文件的实现方法

    由于vue为单页面项目,通过控制组件局部渲染,main.js是整个项目唯一的入口,整个项目都在一个index.html外壳中。 若项目过大,会造成单页面负载过重;同时,多页面利于模块独立部署。 如果项目中不同的页面需要不同的main.js和App.vue这样就需要配置多个入口了。 要单独将页

    2024年01月22日
    浏览(87)
  • vue3 前端编码规范

    1. vscode 安装prettier 的 插件 2. 新建 .prettierrc 文件 1. 创建.eslintrc.js 1. commitlint (检测提交信息) 安装 创建 commitlint.config.js 2. husky (githook的工具) 安装依赖 启动hooks,生成.husky 文件夹 在package.json 中生成prepare指令(需要 npm ≥7.0 版本) 执行 prepare 指令 成功提示 添加commitl

    2024年02月16日
    浏览(38)
  • 使用JavaScript和Vue.js框架开发的电子商务网站,实现商品展示和购物车功能

    引言: 随着互联网的快速发展和智能手机的普及,电子商务行业正迎来一个全新的时代。越来越多的消费者选择网上购物,而不再局限于传统的实体店。这种趋势不仅仅是改变了消费者的习惯购物,也给企业带来了巨大的商机。为了不断满足消费者的需求,电子商务网站需要

    2024年02月15日
    浏览(55)
  • 前端(五)——从 Vue.js 到 UniApp:开启一次全新的跨平台开发之旅

    🙂博主:小猫娃来啦 🙂文章核心:从 Vue.js 到 UniApp:开启一次全新的跨平台开发之旅 UniApp是一种基于Vue.js的跨平台应用开发框架。它是 由DCloud(数字天堂)开发和维护 的,旨在帮助开发者使用一套代码构建同时运行在多个平台(包括iOS、Android、Web等)的应用程序。 UniA

    2024年02月16日
    浏览(72)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包