| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> JavaScript知识库 -> 一文带你了解 ESLint -> 正文阅读 |
|
[JavaScript知识库]一文带你了解 ESLint |
一文带你了解 ESLint在平时开发中,我们总是希望尽可能写出最佳代码,但有时总会出错,然后需要花数小时定位 bug,最后发现只是拼写错误,这很令人沮丧。好在一些工具可以帮助我们在输入过程中检查代码的正确性。这些工具无法表明代码能否实现预期效果,但可以帮助我们避免语法错误。 如果之前使用过 C#这种静态语言,那么你应该很熟悉 IDE 给出的这种警告信息。 Douglas Crockford 开发的 JSLint(最初发布于 2002 年)使得 JavaScript 代码检查变得流行起来。后来出现了 JSHint,如今 ESLint 成为了 React 领域的事实标准。 ESLint 是 2013 年发布的开源项目,由于其配置化程度高且扩展性良好,逐渐流行起来。 在 JavaScript 生态系统中,各种库和技术都变化迅速,因此关键是要找到一个可以方便地使用插件来扩展的工具,并且可以按需启用或禁用规则。最重要的是,如今我们普遍使用 Babel 这样的转译器,以及尚未归入 JavaScript 标准版本的试验特性,因此需要让 linter 知道源代码文件遵循了哪些规则。 linter 不仅能帮助我们更少犯错,或者至少更早发现错误,它还能强制推行一些常见的编程风格指南。这一点非常重要,尤其是开发者众多的大型团队中的每个人都有自己偏爱的编程风格。如果以不同风格编写代码库中的不同文件,甚至不同函数,那么这些代码将难以阅读。 1. 安装首先,执行以下命令来安装 ESLint:
可执行程序安装完成后,就可以用以下命令来运行它:
输出结果会告诉我们文件中是否有错。 安装后首次运行不会看到任何报错,因为它各方面都需要配置,一开始并不包含任何默认规则。 2. 配置现在我们开始配置 ESLint。可以使用位于项目根目录的 .eslintrc 文件来配置 ESLint。 使用
上述配置文件的含义是:
将规则的值设为 2,因为我们希望当代码不符合规则时,ESLint 会抛出错误。 第二个参数将 ESLint 配置为不允许代码中使用分号(相反值为
注意:此处使用了 执行 linter 搭建完毕,它帮助我们遵循了第一条规则。可以手动启用或禁用每条规则,也可以一步启用推荐配置,只需要在 .eslintrc 中添加以下代 码即可。
报错信息如下所示:
因此,要想启用 ES2015 语法,需要添加配置选项:
添加完毕后,就只剩下变量未使用的报错提示了,这是正常的。最后使用以下配置来启用 JSX 语法:
如果你之前开发过 React 应用却从未使用 linter,现在要想学习规则并开始习惯,那么最好运行 ESLint 来检查源代码并修复所有问题。 用 ESLint 帮助我们编写更好的代码的方式有很多种。一种是前文的做法:在命令行中运行 ESLint,并得到一系列错误提示。这种做法可行,但一直手动执行不够方便。更好的做法是在编辑器中加入检查流程,这样输入代码时就能立刻得到反馈。VS Code、Sublime Text、Atom 以及其他流行的编辑器都提供了 ESLint 插件来实现这个目的。 在真实的开发场景中,手动运行 ESLint 或者让编辑器实时提供反馈非常有用,但是还不够,因为我们会遗漏某些错误或警告,甚至是直接无视。为了避免代码库中出现未检查的代码,我们可以将 ESLint 作为开发流程中的一环。举例来说,可以在测试时执行检查,如果代码不符合检查规则,那么整个测试步骤就算失败。 另一个方案是在发起 pull request 前进行代码检查,这样在同事开始审查前还有机会整理代码。 3. React 插件前文提过,ESLint 流行起来的主要原因是其可以用插件进行扩展,对我们最重要一个插件是 ESLint 不需要任何插件就能解析 JSX(启用配置开关即可),但我们想要更多功能。要想使用该插件,需要先进行安装:
安装完成后,在配置文件中添加以下代码,以便 ESLint 可以使用它:
与 ESLint 一样,没有配置规则的情况下它什么都不会做,我们可以启用推荐配置来激活基础规则集。 在 .eslintrc 文件中更新
如果出现编写错误,比如 React 组件的同一个属性写了两次,那么就会出现错误提示:
以上代码会返回如下所示的错误提示:
大量规则可以用于项目。我们来了解其中一部分。例如按照元素的树结构缩进 JSX 代码有助于提升可读性。 如果代码库及组件的缩进风格不一致,则会出现问题。 我们来查看一个示例,了解一下 ESLint 如何帮助团队的每个成员遵循风格指南,而又无须死记硬背。 注意:这种情况下的不正确缩进实际上不算错误,代码还是能够正常运行的;这只是一致性问题。 首先,激活以下规则:
第一个 2 表示如果代码不符合规则,则 ESLint 应该给出错误提示,第二个 2 则表示每个 JSX 元素应该缩进两个空格。因为 ESLint 不会做任何决定,所以启用哪条规则完全取决于你自己。甚至可以通过设置第二参数为 0 来选择无缩进风格。 编写以下代码:
ESLint 会给出以下报错信息:
换行书写属性值时也有类似的规则来约束缩进。属性过多或过长时,较好的做法是换行书写。要想推行属性根据元素名缩进两个空格的格式,启用以下规则即可:
至此,如果属性没有缩进两个空格,那么 ESLint 就会报错。 问题在于,如何界定一行代码过长?多少个属性算多?每个开发人员都有不同的看法。ESLint 的 ESLint 的 React 插件提供的规则不仅有助于写出更优雅的 JSX 代码,也有助于写出更好的 React 组件。举例来说,可以强制要求属性类型按照字母表顺序排列、使用未声明的属性时给出错误提示,或者要求尽量编写无状态的函数组件,而不要使用类等。 4. Airbnb 的配置我们已经了解了 ESLint 如何通过静态分析来发现错误,以及如何促使我们在整个代码库中遵循一致的风格指南。我们也见识到了 ESLint 的灵活之处,以及如何通过配置与插件来扩展它。 ESLint 的 在使用 读者若想了解跟多ESLint,请查看官方文档:ESLint - 插件化的 JavaScript 代码检测工具 |
|
JavaScript知识库 最新文章 |
ES6的相关知识点 |
react 函数式组件 & react其他一些总结 |
Vue基础超详细 |
前端JS也可以连点成线(Vue中运用 AntVG6) |
Vue事件处理的基本使用 |
Vue后台项目的记录 (一) |
前后端分离vue跨域,devServer配置proxy代理 |
TypeScript |
初识vuex |
vue项目安装包指令收集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 13:40:14- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |