前端工程化的我的思考-续

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

(题图:from  unsplash)前端

有朋友问最近看的哪两本关于前端的书籍——《前端架构设计》+《前端工程化:体系设计与实践》,一本重道,一本重术,道与术结合更具指导意义。但愿了解前端的朋友推荐看一下。git

接着上篇未完的话题,《前端工程化的我的思考》,前端工程化很庞大,涉及的点也比较多,笔者也只是想到那里就写到那里,要讨论的朋友可在文末留言讨论。后端

规范检查

既然走工程化路线,代码规范刚首当其冲,但每一个人的编码习惯各异,只能靠团队规范来大方向上求同存异,Java的规范是出了名的,规范检查插件、组件也是种类繁多。前端天然也会有对应的组件来解决前端代码的规范问题,如jslint,eslint,stylelint等,结合svn/git或构建编译工具来确保代码的规范性,应该也有详细的规范文档来约定。我比较喜欢用的工具组合是SonarQube+Jenkins,利用Jenkins进行持续集成构建的同时,进行规范检查,将结果输出到SonarQube中在页面上展示出来,固然这属于一种后置的检查,在本机开发构建时,就能够集成到构建工做包或IDE插件中进行检查。前端工程化

前端测试

很多项目针对后端有严格的单元测试经过率、测试代码覆盖率、代码注释率等,但对前端要求比较少,这也从侧面说明前端测试很差作,特别是前端的自动化测试工做。若是是先后端兼顾的开发,你基本是不会想到给前端代码写单元测试的,由于后端的逻辑性更强,测试方便。若是你是专职作前端开发的,你应该想一想有没有给你的前端代码作单元测试?咱们老是习惯于在JS代码中加入alert或console,刷新页面看看到底结果如何,一处又一处,一遍又一遍,直到随处可见的alert/console淹没在正常代码处理中。架构

很差作不表明不能作,具体到不一样的技术栈,想必也有对应的测试工具来辅助你们进行测试,如Vue体系、React体系等等,算是有比较成熟的生态。也有独立的优秀三方测试框架,如Mocha、Karma等,结合断言库如char.js(没有写断言验证的单元测试都是耍流氓),集成到CI工具中,完成一个持续性的流程。框架

工做流

工程化作的比较好的当属Java,而前端前些年彷佛不存在这个概念。虽然一部分人也在努力这么作,直到NodeJS的出现,才有了质的飞越。不但提高了前端在软件工程中的地位,也为一大批工具的出现奠基了基础。独立构建、独立部署、任务处理(编译、压缩、混淆、合并、解决依赖、文件hash)等工具的出现,将一个完整的工做流程串联起来,再结合CI/CD工具,可谓发挥出极大的威力,解放人力,提高生产力。特别是Jenkins新版本中Pipeline功能的提出,使工做流程配置更加流畅。ide

附:《前端架构设计》思惟脑图总结图svn

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=


写到这里,算是这段思考的一个完结,文中提到的点都比较数粗糙,后续仍是要深刻进去,毕竟觉知此事要躬行。工具

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

 

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

相关文章
相关标签/搜索