当前位置: 首页 > 科技观察

前端代码规范工具eslintvsprettier,哪个更适合你?

时间:2023-03-14 18:31:50 科技观察

在开发者中,关于最佳编辑器的争论一直是一个没完没了的话题。从古到今,这个话题一直没有得到圆满的讨论。对于代码的格式,自古以来每个人都有自己的喜好。为了统一代码格式,人们想尽了办法。这也是为什么golang自带格式化代码的工具,就是为了让代码格式统一。方便大家阅读。今天要讨论的eslint和prettier是两款前端统一代码风格的利器。ESLinteslint诞生于2013年,如今已经成为最著名的代码格式化工具,每天有数百万的下载量。eslint是一个分析我们代码风格的工具,然后它会发现格式和代码中的错误。使用起来非常方便,只需要通过npm安装,然后在项目中初始化使用,最后在package.json中添加运行代码:npmi-geslinteslint--initscript:{"lint":"eslint"}/可以配置/npmrunlinteslint的所有设置。您可以让它只检查语法,也可以让它不仅检查语法还查找错误。当然你也可以配置它来修改代码风格。eslint支持三大前端框架,你可以很方便的在你的项目中集成使用。eslint默认提供google、airbnb、official三种代码风格供选择。当然,对于具体的配置,你也可以根据自己的项目进行适当的调整。下面是eslint初始化后生成的js文件。module.exports={'env':{'browser':true,'es2021':true,'node':true},'extends':'eslint:recommended','parserOptions':{'ecmaVersion':13,'sourceType':'module'},'rules':{'indent':['error',4],'linebreak-style':['error','unix'],'quotes':['error','single'],'semi':['error','never']}}PrettierPrettier创建于2016年,是一个固执己见的代码格式化工具。它支持多种语言,支持很多编辑器,配置非常少,安装后你甚至可以零配置使用。它诞生的目的就是让你不用关心你的代码编写结构,因为当你保存代码的时候,它会自动帮你格式化你的代码,不会修改你代码的内容,因为它修改了知识代码结构看法。Prettier的主要目的是让人们不用担心代码的风格,而是关注代码的性能和功能。Prettier可以说是前端格式化的神器。除了html、css、js,还支持ts、json、yml、graphql等,另外还支持vue、angular、react这三大前端框架。ESLintVsPrettier与Prettier相比,ESlint不仅可以格式化代码,更重要的是它可以帮助开发者发现代码中的错误。它会在声明变量但未使用时发出警告。当一个数值变量被赋值一个字符串时,它会给出一个错误信息。ESlint会在格式化代码时修复代码中的错误,而Prettier更多的是格式化代码并忽略代码中的错误。Prettier可以自定义很多代码格式选项,可以控制代码的宽度,可以控制代码中空格的长度,可以控制末尾是否使用分号,当然这些也是可以自定义的在ESlint中,所以看起来ESlint应该是最好的选择。但技术行业有专攻,Prettier就是专门为格式化代码而生的。对于代码中的一些问题,ESlint可能无法正确格式化。这时候Prettier就可以很好的完成格式化任务。一个擅长格式化代码,一个擅长发现代码中的错误,那么可以一起使用吗?答案是肯定的。在Prettier官网上,官方给出了集成ESLint的方案,大家可以参考文档将两者合二为一。如果您的代码没有使用过它们,那么我强烈建议您尝试使用它们。在团队项目中,你会发现使用它们会让你整个团队的代码看起来统一。总结不管是prettier还是eslint,都是通过配置文件来运行的,所以在使用的时候要特别注意配置文件的选项和使用方法。此外,由于eslint有时太慢,人们还提出使用工具eslint_d。它的用法和eslint一样,但是性能比前者快很多。你可以自己试试。所有工具都是为了提高开发效率和编码效率而设计的。如果你真的觉得这些工具阻碍了你的效率,你根本不需要使用它们,但我相信大多数时候,使用这些工具肯定会提高你的开发效率,否则它们就不会诞生,也不会有那么多人使用它们。

猜你喜欢