版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
读牛耳就业符中国互联网前沿技术人才摇麓◎前端如何高效的与后端协作开发前端与后端的分离,能使前端的开发脱离后端的开发模式,拥有更大的自由度,以此便可做前端工程化、组件化、单页面应用等。.前后端分离前端与后端的分离,能使前端的开发脱离后端的开发模式,拥有更大的自由度,以此便可做前端工程化、组件化、单页面应用等。.尽量避免后端模板渲染web应用的渲染方式分为服务器端渲染和客户端渲染当下比较推荐的方式是客户端渲染,数据使用全ajax的方式进行交互。
I,牛耳就业招中I,牛耳就业招中国互联网前沿技术人才摇筮©除非在一些不得不使用服务器端渲染的情况下(如门户、电商等),应当尽量使用客户端渲染,因为客户端渲染更能使前后端分离(项目分离、代码解耦、协作分离、职责分离等,也能更好的做本地接口模拟开发,提升开发效率。即使用服务器端渲染,在技术支持的条件下,可以使用node中间层(由前端人员开发),代替传统的后端模板渲染这样可以使后端与前端完全解耦后端与前端只有数据上的往来。.尽量避免大量的线上调试做好本地接口模拟开发(包括后端模板渲染),避免大量的线上调试,因为线上调试很不方便,也很费事,并且每次更新代码,都需要重新构建,然后同步到服务器。所以做好本地接口模拟开发,只要程序在本地运行是没问题的,一般线上就不会有太大的问题,这样就能大幅降低调试工作量,提升开发效率。.本地接口模拟开发本地接口模拟就是在本地模拟一个与服务器差不多的环境,能够提供数据所需的接口,进行错误模拟处理等等。本地接口模拟开发的意义就在于能够在本地完成几乎所有的开发与调试尽量减少线上的调试,提高开发效率。一些常用库:I,牛耳就业招中I,牛耳就业招中国互联网前沿技术人才摇筮©口browser-sync(https:〃/BrowserSync/browser-sync):能让浏览器实时、快速响应文件更改(html、js、css、sass、less等)并自动刷新页面,并且可以同时在PC、平板、手机等设备下进行调试。口webpack-dev-middleware(/webpack/webpack-dev-middleware):Adevelopmentmiddlewareforwebpack。口webpack-hot-middleware□(/webpack-contrib/webpack-hot-middleware):热更新本地开发浏览器服务。另外,本地接口模拟开发需要后端开发人员有规范的接口文档。5.规范的接口文档前端与后端协作提升开发效率的一个很重要的方法就是减少沟通能够形成纸质的文档就不要口头沟通、能够把接口文档写清楚也不要口头沟遹参数、数据结构、字段含义等),特别是线上协作的时候,面对面交流是很困难的。一个良好的接口文档应当有以下的几点要求与信息:.格式简洁清晰:推荐用APIBlueprint(https:〃/).分组:当接口很多的时候,分组就很必要了.接口名、接口描述、接口地址.http方法、参数、headers、是否序列化.http状态码、响应数据
I,牛耳就业招中I,牛耳就业招中国互联网前沿技术人才摇筮©接口文档可以用一些文档服务(如leanote(https:〃/leanote/leanote)^管理文档,也可以用git来管理;书写方式可以用markdown,也可以YAML、JSON等。推荐使用markdown方式写文档,用git管理文档。可以参考:•本地化接口模拟•本地化接口模拟、前后端并行开发(https://segmentfault.Com/a/1190000015297352)•APIBlueprint(/)6.去缓存前端需要做好去客户端缓存的功能,保证用户始终都是使用的最新资源,不会因为因为缓存的问题而出现bug。传统的去缓存是在静态资源url上加上版本号或者时间戳,不过因为构建工具的出现以及一些浏览器已经不支持这种方式了的缘故,这种方式已经是过去时了。现在去缓存是将文件hash化命名,只要文件变动,文件名就会不一样,以此才能彻底的去缓存。如果使用webpack进行打包,会自动将所有文件进行hash化命名。7.前端与后端都需要各自做好错误处理,以便发生错误能够有友好的提示,也能在用户反馈时快速准确定位错误来源和原因。一般前端的错误分为:
读牛耳就业招中国互联网前沿技术人才摇筮读牛耳就业招中国互联网前沿技术人才摇筮◎•脚本运行错误:js脚本错误,找到堆栈信息,然后解决接口错误:服务器报错、数据返回不对、没有响应数据、超时等而接口错误分为:状态码错误(状态码非2XX):服务器报错、超时等数据错误:没有响应数据、数据格式不对、数据内容不对.运行时捕捉js脚本错误当用户在用线上的程序时,怎么知道有没有出bug;如果出bug了,报的是什么错如果是js报错,怎么知道是那一行运行出了错?所以,在程序运行时捕捉js脚本错误,并上报到服务器,是非常有必要的。这里就要用到window.onerror了:window.onerror=(errorMessage,scriptURI,lineNumber,columnNumber,errorObj)=>{constdata={title:document.getElementsByTagName('title')[0].innerText,errorMessage,scriptURI,lineNumber,columnNumber,detailMessage:(errorObj&&errorObj.message)||'',
I,牛耳就业招中I,牛耳就业招中国互联网前沿技术人才摇筮©stack:(errorObj&&errorObj.stack)||userAgent:window.navigator.userAgent,locationHref:window.location.href,cookie:window.document.cookie,};post('url',data);//上报到服务器18.19.};线上的js脚本都是压缩过的,需要用sourcemap文件与source-map(/mozilla/source-map)查看原始的报错堆栈信息。.移动端远程调试、vConsole、TBSStudio因为移动端的开发无法像pc端开发一样使用Chrome的开发者调试工具,所以调试移动端需要一些额外的技巧。移动端应用一般都运行在微信浏览器中、webview中、手机浏览器中。远程调试(RemoteDebugging)
I,牛耳就业招中I,牛耳就业招中国互联网前沿技术人才摇筮©远程调试就是通过USB连接、端口转发、搭建代理等方式,将一个设备的web页面映射到另一个设备上,比如将手机的webview映射到pc上,达到调试的目的。移动端web应用调试难题从一开始就有不过后来浏览器厂商基本都推出自己的远程调试工具来解决这个问题,包括OperaMobile、iOSSafari、ChromeforAndroid、UC浏U览器等,另外还有一些第三方开发的远程调试工具,比如weinre(http:〃/〜pmuellr/weinre/docs/1.x/1.5.0/)等。以Android为例,可以将webview、ChromeforAndroid中的页面映射到pc端的ChromeDevTools,然后就可以在pc端调试移动端的页面了。vConsole一个轻量、可拓展、针对手机网页的前端开发者调试面板(chrome开发者工具的便利实现)。这个是内嵌的页面当中的便捷调试器,基本上能够满足一般的需要远程调试的页面。github:/Tencent/vConsoledemo:https://wechatfe.github.io/vconsole/demo.htmlLogSystemNetwork欢迎使另vConsol&ovConsole是一个由微信公众平台前端出队研发的Web前端开发者面板।可用于展示consc也日志,方便开调试。loginfodebugworn,Object(foo:"bar,abj:{baof:t►arr:ArrayfS]foo:"bar"▼obj:Objectbool:true, Obfecttips:"JS对象可以布费展示‘, ;Objectcornmand... OKClear HideTBSStudio因为微信浏览器是定制的浏览器,一般的远程调试方式都不可用,需要配合特定的工具汝口微信开发者工具。TBSStudio(https:〃/tbs/guide.html)是另一^个可以像Chrome一样调试远程微信浏览器页面的强大工具。.前端后并行开发
I,牛耳就业招中I,牛耳就业招中国互联网前沿技术人才摇筮©HYPERLI
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2030年中国孕妇营养保健品行业营销模式及投资前景展望报告版
- 2024-2030年中国奥他米韦项目申请报告
- 2024-2030年中国大型购物中心行业经营策略及投资规划分析报告
- 2024-2030年中国国际电路租赁行业前景趋势规划研究报告
- 眉山职业技术学院《射频电路与系统》2023-2024学年第一学期期末试卷
- 茂名职业技术学院《编程语言基础》2023-2024学年第一学期期末试卷
- 2024年度企业管理制度与劳动合同修订及员工权益保障协议3篇
- 影视后期制作教案第01周-02-1图层
- 2024事业单位工作长期合同工特殊工种安全协议样本2篇
- 2024年标准采购合同管理细则版B版
- 钢结构施工环保方案
- 痛经中医治未病干预方案
- 2024年大型风力发电项目EPC总承包合同
- 孩子在校被撞骨折调解协议书范文
- 纺织服装面料创意设计
- 充电站出售转让协议书范文模板
- 2024秋期国家开放大学专本科《经济法学》一平台在线形考(计分作业一至四)试题及答案
- 国开(天津)2024年《农村发展概论》形考作业1-4答案
- 2024-2025学年小学美术一年级下册(2024)岭南版(2024)教学设计合集
- 《工会工作制度》会议纪要
- 2024年黑龙江大庆林甸县退役军人服务中心选调历年高频500题难、易错点模拟试题附带答案详解
评论
0/150
提交评论