eslint前端代码检测工具让你的代码更优雅

来源:程序思维浏览:2477次
  协同发展引起的问题

  前端有一个非常受欢迎的段落(实际上,前端有很多流行的段落):

  阅读完项目的源代码后,您将了解团队中有多少人。

  各种命名风格,各种冗余代码,各种缩进样式,各种精彩笔记和各种无评论,代码中的眼睛,心中没有代码,心中只有两个字,项目的清洁度将受到很多客观因素对于我们自己的身心健康,我们应该尽量减少这种影响。简单地说,代码的统一格式和风格使人们更加愉悦,并且不太可能让你放弃键盘的冲动;使用更高的B字,称为熵减少,这是为了减少团队的输出代码。如果您希望将来成为合格的前端架构师,这将是您的目标。

  其次,代码就像一个人

  从发展之初,我就是崇高的粉丝。通过常用快捷方式的技巧和各种插件的配合,我的开发速度得到了极大的提高。毕竟,这是一个颜色的价值决定一切的时代。一个前端,如果你的编辑器总是在白色背景上是蓝色的,或者在黑色背景上是橙色的(请不要把枪扔在枪口上),你真的很尴尬地告诉人们你在做前端,因为其他人会flash以下逻辑:

  这件商品的编辑很难看=>

  这件商品的美感很低=>

  这种商品的估计寿命并没有好多少。

  这种想法很糟糕。它可能会无形中失去很多机会。如果你从工作中推断出你是什么样的人,你认为别人会得出什么结论呢?

  Three.editorconfig + eslint

  废话不会(再次)更直接地说明解决方案的低版本:

  Editorconfig

  格式化统一配置工具

  广泛的跨浏览器支持(通常由IDEA,WebStorm,Sublime,Vscode等支持)

  权重高于编辑器的内部格式

  共有8个配置项

  Eslint

  Javascript语法样式检查工具

  Javascript静态检查工具

  支持es6,JSX,AngularJs

  支持前端工程工具

  Four.editorconfig用法

  作者认为,editorconfig最常见的用途是统一文件的编码字符集和缩进样式。其他方面仅在特殊情况下有用。例如,trim_trailing_whitespace配置项对.md文件非常有用,但对于其他类型的文件没有任何用处。对于鸡蛋。

  通配符

  *匹配任何字符串,除了/

  **匹配任何字符串

  ?匹配任何单个字符[name]匹配名称字符

  [!name]匹配非名字字符

  {s1,s2,s3}匹配任何给定的字符串(自0.11.0起)

  2.属性

  Root:表示它是最顶层的配置文件。如果发现它是真的,它将停止查找.editorconfig文件。

  Indent_style:设置缩进样式,制表符或空格。标签是硬标签,空格是软标签。

  Indent_size:缩进的宽度,即列数,整数。如果indent_style是tab,则此属性默认为tab_width。

  Tab_width:设置选项卡中的列数。默认值为indent_size。

  End_of_line:换行符,lf、cr和crlf

  字符集:编码,latin1、utf-8、utf-8-bom、utf-16be和utf-16le,不建议使用utf-8-bom。

  Trim_trailing_whitespace:设置为true以删除换行符开头的任何空格字符。

  Insert_final_newline:设置为true以使用空行结束文件

  3.使用示例

  3.1安装方法

  在editorconfig官方网站上找到对应你所使用的编辑器的editorconfig插件(可以直接在github上下载sublime插件)。

  3.2如何使用

  .editorconfig文件将在项目的根目录中创建。如果无法在Windows下生成仅包含扩展名的文件,则可以运行cmder工具并在指定目录中输入touch .editorconfig命令以生成配置文件。该文件的内容如下:如下所示:

  #top-most EditorConfig文件

  Root = true

  #Unix风格的换行符,换行符结束每个文件

  [*]

  End_of_line = lf

  Insert_final_newline = true

  #使用大括号扩展表示法匹配多个文件#设置默认字符集

  [*。{JS,HTML,CSS}]

  Charset = utf-8

  #Tab缩进(未指定大小)

  [*的.js]

  Indent_style =空格

  Indent_width = 4

  eslint使用方法

  Eslint的Rules规则集包含近200个javascript编码规则,可帮助我们检查编程中的语法错误,以及限制一些指定的最佳实践,减少整个项目中奇怪的代码片段和各种技巧。为开发人员提供javascript静态检查功能,为前端架构师提供统一团队编程风格的能力。

  1.安装

  使用npm install -g eslint或yarn global add eslint全局安装eslint工具。

  2.生成.eslintrc配置文件

  .eslintrc。? file支持常见的格式,如js,json,yaml,yml等。全局安装eslint工具后,在工作目录中输入eslint --init,然后按照提示生成自定义的.eslintrc。包含基本规则的文件。 。

  统一河流和湖泊的前端(5)editorconfig + eslint——隐藏在你的代码中你的优雅

  3.手动使用eslint进行语法检查

  在包含.eslintrc文件的目录中,使用一个简单的函数来测试eslint的校验和函数。如您所见,规则集中的限制是强制性的,并且禁止使用默认警报类。使用了eslint校验和。稍后将给出提示信息。

  Esling.json配置:

  用于测试的js代码(名为ab.js):
Esling.json配置

  在命令行上运行eslint工具以验证您是否可以在命令行上看到验证结果:

  统一河流和湖泊的前端(5)editorconfig + eslint——隐藏在你的代码中你的优雅

  4.工具集成

  前端工程是一个大趋势。使用自动打包工具(如grunt,gulp,webpack或Jenkins持续集成工具),您可以实现指定的操作(例如在将代码提交到单个分支后触发,例如每次保存的符合条件的js文件)。在时间或指定的开发之后(例如在压缩包之前),使用eslint自动检查指定的代码。

  5.建议eslint规则集涉及200多条规则。作者还在学习。我强烈建议前端开发人员系统地研究这个主题。他们不仅需要了解配置规则是什么,还要了解它们应该受到限制的原因。我相信大多数规则都是学习的,对js语言的理解肯定会超过一步,这是一个很高的步骤。

  其他压箱底宝贝

  使用editorconfig和eslint,可以解决协同开发中的问题吗?当然不是那么简单。所谓的优秀代码是一样的,丑陋的代码有自己的风格。从命名约定到奇点,没有什么是你无法想到的,没有人不能写出来。

  1.套件A——sublime编辑器缩进样式配置

  Editorconfig处理Tab和Space一致性问题,但许多开发人员不使用Tab来控制缩进习惯。相反,它们用于手动键入空格。写代码写入基本上随机淘汰0-4个空格。这时,编辑器无法完成。 sublime编辑器提供缩进样式的设置。对于当前文件,您可以直接在界面的右下角进行修改。但是,为了保持一致性,建议按用户配置设置全局规则。具体方法是:

  打开首选项菜单,选择设置 - 用户,然后在突出显示的框中输入两个配置项。回车后,代码将自动缩进指定的空格数以实现统一的缩进样式。 Sublime将对线是否需要缩进做出明智的判断。当您使用它时,您会发现它符合代码编写习惯。

  2.套件B——sublime代码段

  代码编写或处理(如函数声明或条件分支或循环语句)最容易出现缩进问题,而顺序结构代码几乎没有缩进问题。 Sublime为我们提供了预设代码片段(或简单地将其理解为快捷方式)的强大功能。使用的感觉就像一个口头禅,个人感觉很有趣。

  / ** + Tab

  生成jsdoc样式的预注释信息,将来可以输出文档或匹配单元测试。

  如果+ Tab

  生成if条件语句的代码结构

  对于+ Tab

  生成正向循环或反向循环代码结构

  Fun + Tab

  生成函数声明代码结构

  其他自定义代码段

  可自定义的快捷方式和代码段,并指定一些可配置的焦点

  生成的代码如下所示:生成代码框后,每次按Tab键时,它将聚焦于下一个焦点,例如键入fun,然后按Tab键,第一个焦点位于函数名称,然后按Tab键,第二个重点是参数列表。再次按Tab键,第三个焦点位于功能体,您不必自己考虑缩进。

  3.提示C——HTML / CSS / Js Prettify插件

  这个插件是一个崇高的插件,提供HTML / CSS / JS代码格式化功能。如果您的代码是从上到下,那么这个插件可能没有用,但它可能吗?需求的各种变化使你有必要编写各种Ctrl + C和Ctrl + D(不知道是什么?你怎么看待代码搬运工?),基本上是一波折腾,诗篇的原始代码现在,prittify插件派上用场,右键点击sublime并选择HTML / CSS / JS Prettify->

  Prettify Code,只需点击一下,整个世界就是精彩的。

  当然,每次Ctrl + s保存文件时,可以将此插件的配置设置为自动触发Prettify功能。至于是否启用它,由您的团队决定。

  如果你的代码在这些限制下搞砸了,那么我只能说你是故意的。

  编写代码是一种实践,它是一个卓越的过程,被动约束和检查无法解决所有问题,毕竟语法错误和优雅代码之间没有距离。

  例如,当您编写html页面时,请使用table> tbody> tr> td来实现单列列表项,因为您不知道ul和li标记。

  例如,当你编写CSS时,你会编写一些你甚至不知道如何重用它们的样式。

  例如,当你正在写Js时,你很乐意写一个驼峰名字,而且你写的不好匈牙利。心情非常糟糕。你可以直接拼音,心态被炸毁,直接写变量名称laoZiBuGanLe。

  这不是错误,但它们会揭示您的弱点,或基本知识,心理控制或合作沟通。
精品好课
jQuery视频教程从入门到精通
jquery视频教程从入门到精通,课程主要包含:jquery选择器、jquery事件、jquery文档操作、动画、Ajax、jquery插件的制作、jquery下拉无限加载插件的制作等等......
VUE2+VUE3视频教程从入门到精通(全网最全的Vue课程)
VUE是目前最火的前端框架之一,就业薪资很高,本课程教您如何快速学会VUE+ES6并应用到实战,教你如何解决内存泄漏,常用UI库的使用,自己封装组件,正式上线白屏问题,性能优化等。对正在工作当中或打算学习VUE高薪就...
最新完整React+VUE视频教程从入门到精,企业级实战项目
React和VUE是目前最火的前端框架,就业薪资很高,本课程教您如何快速学会React和VUE并应用到实战,教你如何解决内存泄漏,常用库的使用,自己封装组件,正式上线白屏问题,性能优化等。对正在工作当中或打算学习Re...
Vue2+Vue3+ES6+TS+Uni-app开发微信小程序从入门到实战视频教程
2021年最新Vue2+Vue3+ES6+TypeScript和uni-app开发微信小程序从入门到实战视频教程,本课程教你如何快速学会VUE和uni-app并应用到实战,教你如何解决内存泄漏,常用UI库的使用,自己...
HTML5基础入门视频教程易学必会
HTML5基础入门视频教程,教学思路清晰,简单易学必会。适合人群:创业者,只要会打字,对互联网编程感兴趣都可以学。课程概述:该课程主要讲解HTML(学习HTML5的必备基础语言)、CSS3、Javascript(学习...
React实战视频教程仿京东移动端电商
React是前端最火的框架之一,就业薪资很高,本课程教您如何快速学会React并应用到实战,对正在工作当中或打算学习React高薪就业的你来说,那么这门课程便是你手中的葵花宝典。
HTML5视频播放器video开发教程
适用人群1、有html基础2、有css基础3、有javascript基础课程概述手把手教你如何开发属于自己的HTML5视频播放器,利用mp4转成m3u8格式的视频,并在移动端和PC端进行播放支持m3u8直播格式,兼容...
最新完整React视频教程从入门到精通纯干货纯实战
React是目前最火的前端框架,就业薪资很高,本课程教您如何快速学会React并应用到实战,教你如何解决内存泄漏,常用UI库的使用,自己封装组件,正式上线白屏问题,性能优化等。对正在工作当中或打算学习React高薪就...
收藏
扫一扫关注我们