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

开发 前端
为了统一代码格式,人们想尽了办法,这也是golang为什么自带了一个格式化代码的工具,而我们今天要讨论的eslint和prettier就是两个前端统一代码样式的工具。

在开发人员中,关于最佳编辑器之争从来都是一个无休止的话题,从古至今,这个话题从来没有探讨出一个满意的结果。

对于代码的格式,自古以来也是每个人都有自己的偏好,为了统一代码格式,人们想尽了办法,这也是golang为什么自带了一个格式化代码的工具,就是为了让代码格式变得统一,变得更加容易所有人阅读。

而我们今天要讨论的eslint和prettier就是两个前端统一代码样式的工具。

[[439052]]

ESLint

eslint是在2013年诞生的,现在它已经成为了最著名的代码格式化工具,每天都有百万的下载量。

eslint这个工具它会分析我们的代码样式,然后它会找出错误格式和代码中的错误。

使用它非常方便,你只需要通过npm安装就可以,然后在项目中通过初始化来使用它,最后在package.json添加运行代码:

  1. npm i -g eslint eslint --init 
  1. script:{ "lint":"eslint" }//npm run lint 

eslint的所有设置都可以进行配置,你可以让它只是检查语法,也可以让它不仅检查语法还要找出错误,当然你还可以配置它对代码样式进行修改。

eslint支持三大前端框架,你可以轻松地在项目中集成使用它。

eslint默认提供了谷歌,airbnb,官方三种代码样式供选择,当然对于具体的配置,你也可以根据自己的项目进行适当调整。

下面是eslint初始化后生成的js文件。

  1. module.exports = { 
  2.     'env': { 
  3.         'browser': true, 
  4.         'es2021': true, 
  5.         'node': true 
  6.     }, 
  7.     'extends': 'eslint:recommended', 
  8.     'parserOptions': { 
  9.         'ecmaVersion': 13, 
  10.         'sourceType': 'module' 
  11.     }, 
  12.     'rules': { 
  13.         'indent': [ 
  14.             'error', 
  15.             4 
  16.         ], 
  17.         'linebreak-style': [ 
  18.             'error', 
  19.             'unix' 
  20.         ], 
  21.         'quotes': [ 
  22.             'error', 
  23.             'single' 
  24.         ], 
  25.         'semi': [ 
  26.             'error', 
  27.             'never' 
  28.         ] 
  29.     } 

Prettier

Prettier是在2016年创建的,它是一个固执的有自己主见的代码格式化工具,它支持很多语言,并且支持很多编辑器,它的配置很少,你甚至可以安装完之后,零配置使用它。

它诞生的目的就是为了让你不用关系你的代码书写结构,因为当你保存代码的时候,它会自动帮助你格式化你的代码,并且不会修改你的代码内容,因为它修改的知识代码的结构视图。

Prettier的最主要的目的就是为了让人们不在纠结代码的样式,而是全神贯注去考虑代码的性能和功能。

Prettier可以说是前端格式化的神器,除了html,css,js外,它还支持ts,json,yml,graphql等,此外,前端三大框架vue,angular,react它都是支持的。

ESLint Vs Prettier

[[439053]]

相比于Prettier,ESlint不仅仅可以格式化代码,更主要的是它可以帮助开发者发现代码中的错误。当一个变量声明之后但是没有使用,它会给出警告。当一个数字类型变量赋值了字符串时,它会给出错误提示。

ESlint会在格式化代码的时候,去修复代码中的错误,而Prettier更多地是去格式化代码而忽略代码中的错误。

Prettier可以定制很多代码格式化的选项,你可以控制代码的宽度,可以控制代码中空格的长度,你可以控制是否使用分号结尾,当然了,这些在ESlint中也可以定制,这么看来,似乎ESlint应该是最佳选择。

但是术业有专攻,Prettier就是专门为了格式化代码而生的。对于代码中的一些问题,ESlint可能无法正确格式化,这个时候,Prettier就可以很好的完成格式化的任务。

一个擅长格式化代码,一个擅长发现代码的错误,那么它们俩可以结合使用吗?答案是肯定的。

在Prettier的官网中,官方已经给出了集成ESLint的解决方案,你可以参照文档将两者合二为一。

如果你的代码还没有使用它们,那么我强烈建议你去尝试使用它们,在团队化的项目中,你会发现使用了它们会让你真个团队的代码看起来整齐划一。

总结

无论是prettier还是eslint,它们都是通过配置文件来进行运行的,因此在使用它们的时候,你要格外留意配置文件的各个选项和使用方式,此外,因为eslint有些时候过于缓慢,人们还提出了eslint_d这个工具,它的用法和eslint一样,但是性能速度上却比前者快很多,你可以亲自尝试下。

所有的工具都是为了提升开发效率,提高编码效率,如果你真的觉得这些工具妨碍了你的效率,你完全可以不使用它们,但是我相信大多时候,使用这些工具一定会提升你的开发效率,否则它们就不会诞生,也不会有这么多人来使用它们了。

 

责任编辑:赵宁宁 来源: 今日头条
相关推荐

2024-04-03 08:28:31

GolangPHP语言

2017-06-27 15:08:05

大数据Apache SparKafka Strea

2021-07-30 11:16:38

云存储本地存储

2022-01-26 10:26:57

ChromeBrave网页浏览器

2015-09-16 11:29:46

超融合架构软件定义存储

2022-01-25 19:36:46

ChromeBrave浏览器

2016-05-31 11:00:43

数据中心数据中心硬件数据中心搭建

2021-02-23 08:00:00

LinuxUbuntu微软

2021-12-03 10:15:10

FlowTypescript开发

2009-02-25 19:47:54

IT认证思科认证微软认证

2022-07-27 16:50:39

BabelTypeScript前端

2012-07-04 15:22:18

云办公云计算

2020-04-17 15:00:04

IntelliJIDEAJava

2023-10-18 07:43:55

Redis数据存储

2023-07-11 17:50:04

操作系统Ubuntu

2019-08-21 08:29:23

云计算内部部署软件

2023-08-29 11:37:10

云计算数据中心

2010-07-13 16:15:49

XenServer5.6

2011-11-10 16:20:21

私有云公有云混合云

2023-10-06 23:46:00

PHPPythonWeb
点赞
收藏

51CTO技术栈公众号