ESLint 介绍

原文链接:https://note.noxussj.top/?source=sifo

ESLint 是一款插件,次要用来检测编写的( JavaScript )代码是否符合规范。当然在一个团队中也会自定义一些标准条件。另外失常状况下咱们不须要独自装置 ESLint 去应用,这里只是为了做演示。例如 vue-cli 脚手架搭建的我的项目个别都是帮你集成好了。

ESLint 官网文档

https://eslint.bootcss.com


装置

1.搭建一个空我的项目,并且通过命令 npm init 初始化 package.json

2.通过 yarn add eslint 命令装置 ESLint 插件。

3.通过 npx eslint --init 命令初始化 ESLint 配置文件。

4.配置文件初始化结束后,会在对应的目录下生成 ESLint 配置文件,前面能够在这里批改 ESLint 校验的规定。

5.编写不符合规范的代码进行测试。

6.通过 npx eslint main.js 命令执行 ESLint 校验代码。

代码中提醒变量定义了却没有应用。以及文件开端须要有一个换行符。


ESLint 配置文件初始化步骤剖析

How would you like to use ESLint(您想如何应用 ESLint )?  ● To check syntax only(只查看语法)  ● To check syntax and find problems(查看语法并发现问题)  ✔ To check syntax, find problems, and enforce code style(查看语法、发现问题并强制执行代码款式)
What type of modules does your project use(您的我的项目应用什么类型的模块化标准)?  ✔ JavaScript modules (import/export)( ESM 模块化标准)  ● CommonJS (require/exports)( Common JS 模块化标准)  ● None of these(这些都不是)
Which framework does your project use(您的我的项目应用哪个框架)?  ● React  ● Vue.js  ✔ None of these(这些都不是)
Does your project use TypeScript(您的我的项目应用 TypeScript 吗)?  ✔ No  ● Yes
Where does your code run(您的代码运行在什么环境)?  ✔ Browser(浏览器环境)  ● Node( node 脚本环境)
How would you like to define a style for your project(您心愿如何定义我的项目的款式格调)?  ✔ Use a popular style guide(应用风行格调指南)  ● Answer questions about your style(依据答复相干问题制订格调)  ● Inspect your JavaScript file (s)(依据本地文件制订格调)
Which style guide do you want to follo(您想遵循哪种格调指南)?  ● Airbnb : https://github.com/airbnb/javascript  ✔ Standard : https://github.com/standard/standard  ● Google : https://github.com/google/eslint-config-google  ● XO : https://github.com/xojs/eslint-config-xo
What format do you want your config file to be in(您心愿配置文件采纳什么格局)?  ● JavaScript  ● YAML  ✔ JSON
Would you like to install them now(是否当初装置这些依赖)?  ● No  ✔ Yes
Which package manager do you want to use(您要应用哪个包管理器)?  ● npm  ✔ yarn  ● pnpm

配置规定

在继承支流标准的前提下,咱们还能够额定指定本人的 ESLint 配置,将会笼罩掉原有的 standard 规定。ESLint 的规定有很多,这边次要列举一些比拟常见的。

官网规定文档

https://eslint.bootcss.com/docs/rules

.eslintrc.json

{    "env": {        "browser": true,        "es2021": true    },    "extends": ["standard"],    "parserOptions": {        "ecmaVersion": 12,        "sourceType": "module"    },    "rules": {        "jsx-quotes": ["error", "prefer-double"], // 必须应用单引号        "indent": ["error", 4], // 必须应用 4 个缩进的空格        "semi": ["error", "always"], // 代码结尾必须应用分号        "comma-dangle": ["error", "never"] // 对象/数组最初一个元素不能有逗号    }}

原文链接:https://note.noxussj.top/?source=sifo