ESLint 的高级用法——插件、扩展和规则

阅读时长 4 分钟读完

本文主要介绍 ESLint 的高级用法:插件、扩展和规则,这些功能能够帮助我们更好地检测代码质量、规范化代码风格,提高我们代码的可读性、可维护性,让我们在编码的过程中更加高效。

插件

ESLint 支持插件,可以通过安装插件来增强其功能。插件的安装方式与规则相同,在 .eslintrc 文件中配置。

例如,我们想要检测 JS 中是否有未使用的变量,需要安装插件 eslint-plugin-unused-vars,安装命令如下:

然后在 .eslintrc 文件中增加插件的配置:

这样我们就可以在代码编辑器中看到未使用的变量:

代码编辑器会提示 b 未使用。

扩展

有时我们想要继承已有的规则进行扩展,使得配置更加简便。ESLint 支持通过扩展来实现这种功能,扩展是一组预设规则的集合,可以一次性加载多个规则。

例如,我们想要使用官方的 eslint:recommended 规则,并添加 vue 插件的规则,可以这样配置:

其中,eslint:recommended 是官方的推荐规则集,plugin:vue/recommendedvue 插件的推荐规则集。

规则

ESLint 的规则是对代码中违反的语法做出的告警或报错。ESLint 的默认规则使用了 JavaScript Standard Style,但是使用者可以自定义规则,在 .eslintrc 文件中进行配置。

  1. 配置方式

ESLint 的规则有三种等级:offwarnerror。其中,off 表示关闭规则,warn 表示提出警告,error 表示提出错误。可以在 .eslintrc 文件中配置每个规则的等级,下面以 no-unused-vars 规则为例:

此时,no-unused-vars 规则会被设置成 error 级别,即如果检测到未使用的变量,会认为是一个错误。

  1. 自定义规则

除了使用 ESLint 的内置规则以外,我们还可以自定义规则。

假设我们想要写一个规则,对于使用了自定义的全局变量,报警提示,我们可以使用 no-undef 规则,在规则上做一些扩展。

这里我们定义了一个全局变量 foo,ESLint 会检测到该变量并输出警告。

.eslintrc 文件中配置扩展的规则,即自定义的全局变量:

这样,ESLint 就会输出 bar is not defined 的警告信息。

示例代码

以下是示例代码,包括插件、扩展和自定义规则的配置:

-- -------------------- ---- -------
-
  ---------- -
    ---------------------
    ------------------------
  --
  ---------- -
    -------------
  --
  ---------- -
    ------ ----------
  --
  -------- -
    ----------------- --
    ------------- --------
    ----------------------------- --------
    ----------- --------
    ------- -------
  -
-
展开代码

以上就是 ESLint 的高级用法——插件、扩展和规则。希望可以帮助您更好地使用 ESLint,提高代码质量和效率。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/67c031d8314edc268466910f

纠错
反馈

纠错反馈