【JavaScript】ESLint 深入浅出

news2024/11/19 13:38:23

▒ 目录 ▒

    • 🛫 导读
      • 需求
      • 开发环境
    • 1️⃣ 初体验
      • 安装lint
      • 配置.eslintrc.js
      • 忽略文件
      • `package.json`中添加eslint脚本
    • 2️⃣ vscode中使用插件
      • 安装
      • 作用
    • 3️⃣ 规避报错
      • 问题行添加注释
      • 问题文件开头添加注释
      • 修改配置文件`.eslintrc.js`
    • 4️⃣ 常见错误汇总
      • Cannot read property 'name' of null
    • 📖 参考资料

🛫 导读

需求

ESLint 是一个代码检查工具,用来检查你的代码是否符合指定的规范。

开发环境

版本号描述
文章日期2022-11-26
操作系统Ubuntu 20.04.4 LTSCSDN开发云
node -vv16.17.0npm -v (8.15.0)
Cloud IDE1.71.0

1️⃣ 初体验

安装lint

npm install lint

配置.eslintrc.js

来个简单的例子:

module.exports = {
  root: true,
  parserOptions: {
    sourceType: 'module'
  },
  // 模板,可以配置多个  
  extends: 'standard',
  // extends: ['plugin:vue-libs/recommended'],
  // 添加各种规则
  'rules': {
      // 禁止的debugger
      'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 0,
      // 不允许在对象文字中使用重复键。
      'no-dupe-keys': 'warn',
      // ...
  }
}

忽略文件

添加并配置.eslintignore文件,此文件是eslint忽略文件配置,配置到此文件的文件文件夹都会被eslint的检测规则忽略。

package.json中添加eslint脚本

package.json的scripts中的脚本配置修改如下面配置。

"scripts": {
    "lint": "eslint src",
    "lint:fix": "eslint src/**/*.*  --fix"
 }

之后直接使用npm run lint进行代码检测;
执行npm run lint:fix进行代码检测和修复。

2️⃣ vscode中使用插件

安装

VSCode插件中搜索ESLint,直接安装就可以了
在这里插入图片描述

作用

  • 有错误立即提示(显示波浪线)
  • ctrl+s保存时立即自动修正错误(参考文章《【实用软件】【VSCode】使用技巧大全(持续更新)https://blog.csdn.net/kinghzking/article/details/126185822》)

3️⃣ 规避报错

当从别的地方拷贝代码,经常有大量报错,为了快速测试代码,可以关闭这些错误。
我们以下图中的错误为例来做演示,具体操作如下内容介绍。
在这里插入图片描述

问题行添加注释

示例如下:

class MyStore {
  /* eslint-disable space-before-function-paren */
  /* eslint-disable no-useless-constructor */
  constructor() {}
}

问题文件开头添加注释

示例如下:

/* eslint-disable space-before-function-paren */
/* eslint-disable no-useless-constructor */

class MyStore {
  constructor() {}
}

修改配置文件.eslintrc.js

rules字段中添加配置,将其设置为0。

  'rules': {
    'space-before-function-paren': 0,
    'no-useless-constructor': 0,
  }

4️⃣ 常见错误汇总

Cannot read property ‘name’ of null

这个错误很让人摸不着头脑,目前知道的是因为语法不规范或者语法错误造成的,比如try{} catch {}应该改为try{} catch(e) {},从别的项目直接抄过来的代码,往往会因为各种原因导致该错误。
不过万幸的是,该错误往往会提示错误在哪个文件中,如下图第一行内容。一段一段代码注释很快就能定位到问题。
在这里插入图片描述

📖 参考资料

  • ESLint-的基本介绍 https://blog.csdn.net/weixin_58384302/article/details/120831674
  • eslint代码自动修复 https://blog.csdn.net/qq_26887683/article/details/120948305
  • 官方文档-Rules https://eslint.org/docs/latest/rules/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/69819.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

站在巨人的肩膀上,用Node+ChatGPT模块实现一个接口

目录 前言 准备工作 起步 写在最后 前言 蹭一下最近比较火的人工智能ChatGPT的热度,最近看到许多小伙伴都在调戏ChatGPT,看到这我就坐不住了,这种事怎么能少了我,于是闲(划)暇(水&#xff0…

什么事Jupyter Notebook?

Jupyter Notebook是基于网页的用于交互计算的应用程序。其可被应用于全过程计算:开发、文档编写、运行代码和展示结果。 简而言之,Jupyter Notebook是以网页的形式打开,可以在网页页面中直接编写代码和运行代码,代码的运行结果也…

【javascript】 初见浏览器端日志系统 log4js、bunyan

▒ 目录 ▒🛫 导读需求开发环境1️⃣ log4js配置实现2️⃣ bunyan自定义MyRawStream实现🛬 文章小结📖 参考资料🛫 导读 需求 用习惯了python、java的日志系统,现在使用console.log等览器端js接口打印日志&#xff0c…

m基于FPGA的多级抽取滤波器组verilog设计,包括CIC滤波,HB半带滤波以及DA分布式FIR滤波

目录 1.算法描述 2.仿真效果预览 3.verilog核心程序 4.完整FPGA 1.算法描述 数字下变频中的低通滤波器是由多级抽取滤波器组实现的。信号的同相分量和正交分量再分别经由积分梳状滤波器(CIC)、半带滤波器(HB)和有限长单位脉冲响应(FIR)滤波器构成的多级抽取滤波器组进行滤波…

vcenter开机报错activating swap-devices in /etc/fstab

问题:昨天IDC机房一台存储断电了,恰巧vcenter在这台存储上,重启存储后再重启vcenter报了以下错误: 参考文档: https://www.virtualizestuff.com/2015/10/29/vcsa_fstab_failed/ https://kb.vmware.com/s/article/2069…

政企数智办公潮水里的融云「答卷」

在这张集合了党政机关、金融保险、交通、能源电力等中大型组织复杂办公需求的高难度答卷上,融云在扎实耐打的通信底层之上,保持灵活的身段和强大的进化能力,稳定而轻盈,在不断变化的环境中正在成为确定性本身。 作者|皮爷 出品…

手把手教你打造一款个人专属Android桌面

实现方式两种 1.从头到尾写一个apk然后把系统的属性加上去,然后启动的时候默认就指定到这个apk的包名,他就启动, 2.我们基于Androidlauncher3的源码去做一个定制化的修改 分析一下这两种的区别, 自定义,要有丰富的…

使用SuperMap iDesktopX如何去掉“耗子尾巴”

在项目中,通过会遇到一些错误的矢量数据,比如“耗子尾巴”。什么是“耗子尾巴呢”,我们所说的“耗子尾巴图斑”,是不规则图斑的一种形态。规则的图斑,应该形态接近圆、矩形、菱形或凸多边形的图斑。自然界中多数图斑应…

[附源码]计算机毕业设计JAVA政府项目管理平台

[附源码]计算机毕业设计JAVA政府项目管理平台 项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybati…

ASEMI整流桥MB10F、MB6S、ABS10参数对比

编辑-Z 封装和参数是工程师在选型整流桥时的两大重要依据,下面我们就把比较常见的ASEMI整流桥MB10F、MB6S、ABS10参数做个对比,方便大家选型。 整流桥MB10F参数: 型号:MB10F 封装:MBF-4 最大重复峰值反向电压&…

Redis - Linux下载与安装

1.通过apt方式安装Redis 在终端中输入,如下命令进行安装: # 更新软件源 sudo apt update # 安装redis-server sudo apt install redis-serverredis服务安装完成后,服务将自动启动。通过如下命令查看服务进程是否启动: ps aux |…

快速上手Django(八) -Django之 统一异常、Response处理

文章目录快速上手Django(八) -Django之 统一异常、Response处理一、统一Response处理二、统一异常处理1. 需求背景2. Django、drf统一异常处理3. Django、drf异常处理基础4. 纯django场景下5. 【重要】使用drf场景下,实现思路编写自定义异常处理方法在settings/dev.…

高端前端彻底搞定this指向(详解)

这篇文章只告诉你三件事情,this,this,还TM的是this。 1,this在javascript中是可有可无的 大家在学习javascript的时候,肯定或多或少看到过了很多代码。其中肯定会发现this的身影。我们知道他是代表的指向,可是让人迷惑的是this的…

Scheduled定时任务异步执行

1.使用配置 我在使用SpringBoot配置定时任务的过程中,使用Scheduled配置了多个定时任务,但是在项目启动的时候每次只会启动一个定时任务,只好搜索一波,直到看到了 ThreadPoolTaskScheduler的源码,才发现默认开启的线程数是 1 Configuration public class ScheduledPoolConfi…

如何用代码实现决策树来决策要不要相亲?

前言 上一篇我们了解了什么是决策树,知道了决策树构建的过程,同时聊了构建决策树的两种算法,那么我们今天来看下如何使用代码实现决策树的构建。 数据分析整体流程 数据分析一般是以下的分析流程 1、加载数据集 首先我们构建数据,提供训…

windows10配置openvino

一、前言 gpu的常用部署我们是选择trt,那么cpu的部署呢?当然是英特尔的ov 这里要注意:我们一般是现在一台机器上利用exe(后续会说)安装完ov,那么以后在配好第一台软件配置后,以后部署到其他机器上只需要直接把dll和lib直接复制到另一台就可以运行了! 也就是说,只有…

Matplotlib学习笔记(第二章 2.11使用指南 一些简单的例子)

第二章 学习指南 本页包含更多使用Matplotlib的深入指南。它分为初级、中级和高级部分,以及涵盖特定主题的部分。 有关较短的示例,请参阅我们的示例页面。您还可以在我们的用户指南中找到外部资源和FAQ。 2.1介绍 这些教程涵盖了使用Matplotlib创建可…

P4设计实现链路监控

实验要求 在本次实验中,目的是编写一个P4程序,使主机能够监控网络中所有链路的使用情况本练习基于基本的IPv4转发练习,因此请确保在尝试此练习之前完成此练习(basic.p4)具体来说,我们将修改基本P4程序以处…

使用ChatGPT完成分类、检测、分割等计算机视觉任务(Pytorch)

前言 ChatGPT是一个由OpenAI训练的大型语言模型,其知识涵盖了很多领域。 虽然ChatGPT表示它不能用于写代码,但是万一是它太谦虚了呢? 下面的文字均为ChatGPT给出的回答。 使用ChatGPT解决图像分类任务 我们需要一个PyTorch模型&#xff0…

11-18-kafka-生产者理论

11-kafka-理论: Kafka 工作流程及文件存储机制 Kafka 工作流程 Kafka 中消息是以 topic 进行分类的,生产者生产消息,消费者消费消息,都是面向 topic的。 topic 是逻辑上的概念,而 partition 是物理上的概念&#xf…