Eslint 快速入门教程

这篇具有很好参考价值的文章主要介绍了Eslint 快速入门教程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

ESlint

Eslint 快速入门教程,前端,es,前端,个人开发

1.什么是 eslint

eslint 是一个代码检查工具包,用来检查代码的规范。

而相比之下,prettier 是一个代码格式化工具。

  • 解决代码风格不一致的问题

  • 可以实现自动修复一些结构、风格问题

  • 默认是只修复 js 语法的,其他的语言和框架需要配置

  • 高灵活度、配置自由

  • 对于团队来说,统一项目的代码风格,降低维护成本

  • 减少 git 提交

  • 避免低级错误

2.安装

1.检查 nodejs 版本

首先检查自己的 node 版本是否支持

Eslint 快速入门教程,前端,es,前端,个人开发

前提条件:内置 SSL 支持的 nodejs 版本(^12.22.0^14.17.0>=16.0.0)Node.js 发行版

之所以需要 node ,是因为 eslint 是调用的 node 来检查我们的代码:

Eslint 快速入门教程,前端,es,前端,个人开发

2.安装

pnpm add eslint      

初始化

pnpx 会去 bin 中寻找可执行的脚本

pnpx eslint --init

终端

PS D:\Projects\fontend\library-management> pnpx eslint --init
.../pnpm/storeDir/v3/tmp/dlx-6452        |  +97 ++++++++++
.../pnpm/storeDir/v3/tmp/dlx-6452        | Progress: resolved 97, reused 97, downloaded 0, added 97, done
You can also run this command directly using 'npm init @eslint/config'.
Need to install the following packages:
  @eslint/create-config@0.4.3
Ok to proceed? (y) y
√ How would you like to use ESLint? · style
√ What type of modules does your project use? · esm
√ Which framework does your project use? · vue
√ Does your project use TypeScript? · No / Yes
√ Where does your code run? · browser
√ How would you like to define a style for your project? · guide
√ Which style guide do you want to follow? · standard
√ What format do you want your config file to be in? · JSON
Checking peerDependencies of eslint-config-standard@latest
Local ESLint installation not found.
The config that you've selected requires the following dependencies:

eslint-plugin-vue@latest eslint-config-standard@latest eslint@^8.0.1 eslint-plugin-import@^2.25.2 eslint-plugin-n@^15.0.0 eslint-plugin-promise@^6.0.0
√ Would you like to install them now? · No / Yes
√ Which package manager do you want to use? · pnpm
Installing eslint-plugin-vue@latest, eslint-config-standard@latest, eslint@^8.0.1, eslint-plugin-import@^2.25.2, eslint-plugin-n@^15.0.0, eslint-plugin-promise@^6.0.0
 WARN  deprecated sourcemap-codec@1.4.8: Please use @jridgewell/sourcemap-codec instead
Packages: +89
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Progress: resolved 285, reused 198, downloaded 65, added 89, done

dependencies:
- eslint ^8.40.0

devDependencies:
+ eslint ^8.40.0
+ eslint-config-standard 17.0.0
+ eslint-plugin-import 2.27.5
+ eslint-plugin-n 15.7.0
+ eslint-plugin-promise 6.1.1
+ eslint-plugin-vue 9.12.0

Done in 2.1s
Successfully created .eslintrc.json file in D:\Projects\fontend\library-management

目录中出现根据我们的选择而生成的配置文件

Eslint 快速入门教程,前端,es,前端,个人开发

如果你安装的过程中出错,请查看你的 es 的版本,并且尝试降低你的 es 的版本。

3.使用

在 vscode 中使用,eslint 会丧心病狂地检查我们的代码。

1.安装插件

Eslint 快速入门教程,前端,es,前端,个人开发

注意:插件中并没有含有 eslint 核心代码,而是在项目中寻找 eslint 库。

2.使用命令行

pnpx eslint 文件

一般我们不会这么使用。

3.关于保存时格式化

setting.json 中配置:

{
  "editor.codeActionsOnSave": {
    "source.fixAll.eslint": true
  },
}

4.配置文件

4.1.配置方式

我们将 eslint 的配置编写在项目的目录中

eslint 会按照以下的顺序查找:

  • .eslinttc.js
  • .eslintrc.yaml
  • .eslintrc.json
  • package.json 中的 eslintConfig 字段

在目录中,只有一个配置文件会生效,常用的就是 .eslintrc.js/json,还是建议使用 JavaScript。

eslint 配置的主要内容包括:

  • 执行环境(env)
  • 全局变量(globals)
  • 规则(rules)
4.1.1 环境 env

eslint 默认不开启任何的环境,可以在 env 字段中使用 "env_name":true 的方式开启,你甚至可以同时开启多个环境。

{
	"env": {
		"broswer":true,
		"node":true,
		"es6":true,
		"commonjs":true,
	}
}

开启环境之后,使用 eslint 就可以正常解析代码中的全局变量:

  • broswer:window
  • node:process

Eslint 快速入门教程,前端,es,前端,个人开发

比如如果没有声明 broswer 环境,就会对 window 报错,因为你没定义啊。

甚至 console 啥的都会报错 :)

但是,如果你注释了 broswer ,依然是没有报错,你可以看一下你是不是使用的 standard 标准。

Eslint 快速入门教程,前端,es,前端,个人开发

也就是

Eslint 快速入门教程,前端,es,前端,个人开发

这个标准中自带着一些规范,比如他允许你使用 window。

还有其他的标准,比如:[eslint:all],这样就会将所有的标准都加上,代码会迷失在血泊里。

还有 [eslint:recommend],就会推荐的规范。会比全部的相对好一点。

我们推荐使用 standard 的那一套。

4.1.2 全局变量 globals

我们使用 js 进行开发的时候不可避免地会使用到第三方的包,如果第三方的包也使用了全局变量,我们是不能认为我们项目有这个全局变量。

所以我们可以使用 global 来管理代码中的全局变量

可以将其设置为 true/false/off

即可以读取并且更改,读取但是不能更改。

{
    "globals": {
        "$":"true",
    }
}

off 的作用是用来关闭 env 带来的全局变量,因为有的语法过新,我们可以将其关闭,这样 eslint 就会对于这过新的语法进行报错。

{
  "env":{
    "es6": true
  },
  "globals":{
    "Promise":"off"
  }
}
4.1.3 解析选项 parserOptions
{
  "parserOptions":{

    /* ecmaVersion: 指定 ECMA 语法版本
    *  取值:
    *      - "latest": 使用最新版本,现在 (2021) 等同于 12
    *      - 版本号:3, 5(默认), 6, 7, 8, 9, 10, 11, 12
    *      - 年份命名法:2015(=6), 2016(=7), 2017(8) ...
    */ 
    "ecmaVersion":  "latest",

    /* sourceType: 脚本类型,普通脚本 或 ES 模块脚本
    *  取值:"script"(默认) | "module"(ES 模块脚本)
    */
    "sourceType":"module",

    /* ecmaFeatures: 支持的特性语法*/
    "ecmaFeatures": {
      
      // 支持在全局使用 return 
      "globalReturn": true,

      // 默认使用严格模式(ES 5 或 以上)
      "impliedStrict": true,

      // 支持 JSX 语法
      "jsx": true 
    }
  }
}

注意如果你开启了更高版本的 ecma 版本,需要更改环境,不然是没有效果的。

4.1.4 其他解释器 parser

eslint 默认的是 expree 解释器,你可以通过 parser 字段设置其他的解释器,如果项目中用到了 ts、react、vue 等,就需要与之对应的解释器。

为了正确的解析代码。

4.1.5 extends 节点

eslint 检查的规范,我们可以选择第三方规范:

Eslint 快速入门教程,前端,es,前端,个人开发

具体配置的时候我们可以简写:

Eslint 快速入门教程,前端,es,前端,个人开发

4.2 规则配置 rules

我们可以使用 extends 中的规范来规范我们的代码。但是我们也可以自己来配置。

这时候我们在初始化的时候需要选择自己的文件。

0:关闭

1:警告

2:报错

{
    "rule": {
        "semi":0/1/2
    }
}

注意:这里的规范,如果在你的 extends 中的第三方规范也有,是会覆盖的,也就是说优先级更高。

5.eslint检查代码的规则

本质其实就是函数,我们将代码输入(代码会被转换成用于检查的格式),然后代码检查返回结果。

总计有两百多个。

这些规范,包含了几乎开发活动中可能遇到的各种各样的问题。

Eslint 快速入门教程,前端,es,前端,个人开发

我们可以使用的规范包:文章来源地址https://www.toymoban.com/news/detail-793796.html

  • eslint内置规范包:eslint:all / eslint:recommend
  • 标准规范包:eslint-config-standard -> 需要另外下载,可能就会出现上面说的 es 的版本的问题
  • 第三方规范包:google / airbnb 等等

到了这里,关于Eslint 快速入门教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 小程序入门笔记(一) 黑马程序员前端微信小程序开发教程

    微信小程序基本介绍 小程序和普通网页有以下几点区别: 运行环境:小程序可以在手机的操作系统上直接运行,如微信、支付宝等;而普通网页需要在浏览器中打开才能运行。 开发技术:小程序采用前端技术进行开发,如HTML、CSS、JavaScript等;而普通网页也是使用类似的前

    2024年02月08日
    浏览(62)
  • 学习SpringBoot入门知识,附带教程源码分享,快速掌握开发技巧-【imooc-java2021】体系课-Java工程师 2022版

    以下截图自 Spring Boot 官方文档: 翻译整理一下,内容如下: Spring Boot 是基于 Spring 框架基础上推出的一个全新的框架, 旨在让开发者可以轻松地创建一个可独立运行的,生产级别的应用程序。 基于 Spring Boot 内部的自动化配置功能,开发者可以在\\\"零\\\"配置, 或者只需要添加很少

    2024年02月06日
    浏览(65)
  • ES教程:从入门到入土

    建议直接用docker。 docker启动参数说明: -d 后台启动 -p 9200:9200 将虚拟机9200端口映射到elasticsearch的9200端口(web通信默认使用9200端口) -p 9300:9300 将虚拟机9300端口映射到elasticsearch的9300端口(分布式情况下,各个节点之间通信默认使用9300端口) –name MyEs7 指定一个名字(MyEs

    2024年02月07日
    浏览(40)
  • MaterialDesignInXAML WPF入门教程 快速入门

    先去MaterialDesignInXAML下载下来源码,以及Releases,在DemoApp 中就可以看到实际的效果很惊艳了。 除了要有一定的C#、winform 基础外,建议先学习一下 XAML,对整个开发环境有个基础的了解,再来学习此教程。 可以去bilibili上免费学习一下。教程一共12个小时,如果不看后面的实战

    2024年02月05日
    浏览(54)
  • C语言快速入门教程1快速入门 2指令 3条件选择

    C是一种编程语言,1972年由Dennis Ritchie在美国AT T的贝尔实验室开发。C语言变得很流行,因为它很简单,很容易使用。今天经常听到的一个观点是--\\\"C语言已经被C++、Python和Java等语言所取代,所以今天何必再去学习C语言\\\"。我很不赞同这种观点。这有几个原因。这些原因如下:

    2024年02月03日
    浏览(42)
  • Git快速入门篇—— Windows版本淘宝镜像快速下载安装详细步骤及简单入门教程(附带图文教程)

    前言:我们平时在整理代码的时候,尤其是与别人一起开发项目的时候,常常涉及到代码的更新,因此代码版本问题成了一个很头痛的事。而git正是为了解决这种问题而诞生。本文将详细介绍如何通过淘宝镜像进行git的安装以及git的简单入门技巧。 下一章: git与远程仓库的交

    2024年02月03日
    浏览(87)
  • angular快速入门教程

    安装: 1.安装node.js 2.安装angular 3.创建项目 4.文件结构: 5.运行 组件: 项目根模块:app.module.ts 定义的组件都需要在app.module.ts文件里先进行import引入 然后在@NgModule({deckartions:[]})声明 定义组件模板的两个方式: 1.使用templateurl引用一个html文件 2.使用template +es6的模板字符串

    2023年04月08日
    浏览(40)
  • Git 新手快速入门教程

    1. 何为版本控制 版本控制是一种记录文件变化的系统,可以跟踪文件的修改历史,并允许用户在不同版本之间进行比较、恢复或合并。它主要用于软件开发过程中管理代码的变更,但也可以应用于任何需要跟踪文件变更的场景。 版本控制系统(VCS)可以帮助团队协作开发,

    2024年04月26日
    浏览(56)
  • Makefile教程1 快速入门

    Makefile用于帮助决定大型程序的哪些部分需要重新编译。在绝大多数情况下,都会编译C或C++文件。 其他语言通常有自己的工具,其用途与Make类似。当您需要根据已更改的文件运行一系列指令时,Make也可以在编译之外使用。 本教程将重点介绍C/C++编译。 下面是您可以使用Ma

    2024年02月05日
    浏览(57)
  • c++教程1快速入门

    欢迎来到令人兴奋的C++编程世界。本章将演示如何创建简单的C++程序,以及如何在程序中存储数据。 C++简介 安装编译器 编写第一个程序 编译和运行程序 创建变量 使用变量数组 使用向量数组 声明常量 C++是C编程语言的扩展,早在1972年由Dennis Ritchie首次在UNIX操作系统上实现

    2024年02月04日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包