Eslint与Prettier搭配使用

目录

前置准备

Eslint配置

Prettier配置

解决冲突


前置准备

首先需要安装对应的插件

然后配置settings.json

点开之后就会进入settings.json文件里,加上这两个配置

  // 保存的时候自动格式化

  "editor.formatOnSave": true,

  // 保存的时候使用prettier进行格式化

  "editor.defaultFormatter": "esbenp.prettier-vscode",

Eslint配置

要使用 ESLint,你必须安装并构建 Node.js(^18.18.0^20.9.0 或 >=21.1.0)并支持 SSL。(如果你使用的是官方 Node.js 发行版,则始终内置 SSL。)新版的eslint对node版本有要求

安装eslint插件

pnpm create @eslint/config@latest

选择对应的选项即可

安装之后,会生成一个eslint配置文件

我们可以在里面新增一些规则,测试一下是否配置成功,这里我只想对src目录下的文件进行校验,所以改了下检验文件匹配

发现是已经配置成功了

Prettier配置

安装插件:-D 与 --save-dev 是一样的

pnpm install -D prettier

创建配置文件

node --eval "fs.writeFileSync('.prettierrc','{}\n')"

就可以在里面写入规则了

{
  "printWidth": 120, //单行长度
  "tabWidth": 2, //缩进长度
  "useTabs": true, //使用空格代替tab缩进
  "semi": true, //句末使用分号
  "singleQuote": true, //使用单引号
  "endOfLine": "auto",
  "trailingComma": "none" // 对象最后一个属性末尾是否要逗号
}

配置后,找个src的vue文件,然后做一些修改,点击保存,发现prettier配置是生效了。但是与eslint的配置冲突了

有需要的话,也可以新建一个.prettierignore,让 Prettier CLI 和编辑器知道哪些文件不能格式化

解决冲突

要解决eslint与prettier冲突,可以安装eslint-config-prettier插件

pnpm install -D eslint-config-prettier

然后修改eslint.config.js

import globals from 'globals';
import pluginJs from '@eslint/js';
import tseslint from 'typescript-eslint';
import pluginVue from 'eslint-plugin-vue';
// 关闭所有不必要的或可能与 Prettier 冲突的 ESLint 规则
import eslintConfigPrettier from 'eslint-config-prettier';

export default [
	{
		files: ['src/**/*.{js,ts,vue}'],
		// 添加规则
		rules: {
			// 禁止未使用的变量
			'no-unused-vars': 'error',
			// 禁止使用未声明的变量,除非在 /*global */ 注释中提及
			'no-undef': 'error',
			// 禁止使用console
			'no-console': 'error',
			// 禁止debugger
			'no-debugger': 'error',
			// 箭头函数体周围需要大括号
			'arrow-body-style': ['error', 'always'],
			// 不允许末尾有分号
			semi: [2, 'never']
		}
	},
	{ languageOptions: { globals: globals.browser } },
	pluginJs.configs.recommended,
	...tseslint.configs.recommended,
	...pluginVue.configs['flat/essential'],
    // 关闭所有不必要的或可能与 Prettier 冲突的 ESLint 规则
	eslintConfigPrettier
];

然后再回来看页面,就不会有报红了。冲突的部分会以prettier为主

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

无法定位程序输入点Z9 qt assertPKcS0i于动态链接库F:\code\projects\06_algorithm\main.exe

解决方法: 这个报错,是因为程序在运行时没要找到所需的dll库,如果把这个程序方法中对应库的目录下执行,则可正常执行。即使将图中mingw_64\bin 环境变量上移到msvc2022_64\bin 之前也不可以。 最终的解决方法是在makefile中设置环…

探索迁移学习:通过实例深入理解机器学习的强大方法

探索迁移学习:通过实例深入理解机器学习的强大方法 🍁1. 迁移学习的概念🍁2. 迁移学习的应用领域🍁2.1 计算机视觉🍁2.2 自然语言处理(NLP)🍁2.3 医学图像分析🍁2.4 语音…

AnyView 对 SwiftUI 性能的影响

文章目录 前言测试设置动画卡顿浏览数据没有 AnyView 有 AnyView在浏览数据时修改没有 AnyView 有 AnyView分析结果总结 前言 AnyView 是一种类型擦除的视图,对于 SwiftUI 容器中包含的异构视图非常方便。在这些情况下,你不需要指定视图层次结构中所有视…

day01-切片和索引

day01-切片和索引 ndarray对象的内容可以通过索引或切片来访问和修改,与 Python 中list 的切片操作一样。 ndarray数组可以基于0-n的下标进行索引 注意,数组切片并不像列表切片会重新开辟一片空间,而是地址引用,需要使用.copy()…

1105 链表合并

solution P1075的简单变形 #include<iostream> #include<vector> #include<algorithm> using namespace std; struct node{int data, next; }list[100000]; int main(){int first1, first2, n, addr;vector<int> l1, l2, ans;scanf("%d%d%d&quo…

秋招Java后端开发冲刺——并发篇1(线程与进程、多线程)

一、进程 1. 进程 进程是程序的一次动态执行过程&#xff0c;是操作系统资源分配的基本单位。 2. 进程和线程的区别 特性进程线程定义独立运行的程序实例&#xff0c;资源分配的基本单位进程中的一个执行单元&#xff0c;CPU调度的基本单位资源进程拥有独立的内存空间和资源线…

【基于R语言群体遗传学】-4-统计建模与算法(statistical tests and algorithm)

之前的三篇博客&#xff0c;我们对于哈代温伯格遗传比例有了一个全面的认识&#xff0c;没有看的朋友可以先看一下前面的博客&#xff1a; 群体遗传学_tRNA做科研的博客-CSDN博客 1.一些新名词 &#xff08;1&#xff09;Algorithm: A series of operations executed in a s…

软件防查盗版(慎重阅览)

在数字化日益深入的今天&#xff0c;企业运营离不开各类软件的支持。然而&#xff0c;出于成本考虑或其他原因&#xff0c;一些企业可能选择使用盗版软件。然而&#xff0c;随着版权意识的提升和法律法规的完善&#xff0c;企业使用盗版软件的风险也日益增大。为了应对这一挑战…

接口参数化-建立动态参数

接口用例需要-生成动态参数&#xff0c;接口请求参数需要动态参数时&#xff0c;在代码中写规则&#xff0c;然后用这些规则去使用 配置pom文件 新增包data/新增类名testdata 看源码 继承了一个抽象类&#xff0c;这个类被私有了&#xff0c;不能进行实例化 下方是普通方法…

NSSCTF-Web题目22(弱比较、数组绕过)

目录 [鹤城杯 2021]Middle magic 1、题目 2、知识点 3、思路 [WUSTCTF 2020]朴实无华 4、题目 5、知识点 6、思路 [鹤城杯 2021]Middle magic 1、题目 2、知识点 代码审计&#xff0c;弱比较、数组绕过 3、思路 打开题目&#xff0c;出现源代码&#xff0c;我们进行审…

OpenGL3.3_C++_Windows(27)

法线/凹凸贴图 如何让纹理产生更细节的效果&#xff0c;产生凹凸视觉感&#xff1f;解决思路之一&#xff1a;镜面贴图(黑—白&#xff09;&#xff08;&#xff08;diffuse贴图&#xff08;rgba&#xff09;&#xff09;&#xff0c;阻止部分表面被照的更亮&#xff0c;但这并…

二叉树的前中后序遍历(递归法、迭代法)leetcode144、94/145

leetcode144、二叉树的前序遍历 给你二叉树的根节点 root &#xff0c;返回它节点值的 前序 遍历。 示例 1&#xff1a; 输入&#xff1a;root [1,null,2,3] 输出&#xff1a;[1,2,3] 示例 2&#xff1a; 输入&#xff1a;root [] 输出&#xff1a;[] 示例 3&#xff1a; 输…

第T3周:天气识别

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 一、前期工作 本文将采用CNN实现多云、下雨、晴、日出四种天气状态的识别。较上篇文章&#xff0c;本文为了增加模型的泛化能力&#xff0c;新增了Dropout层并…

持续直击WCCI 2024:金耀初教授、台湾省台北分会等获殊荣 横滨夜景美不胜收

持续直击WCCI 2024&#xff1a;金耀初教授、台湾省台北分会等获殊荣&#xff01;横滨夜景美不胜收&#xff01; 会议之眼 快讯 会议介绍 IEEE WCCI&#xff08;World Congress on Computational Intelligence&#xff09;2024&#xff0c;即2024年IEEE世界计算智能大会&…

金融科技企业的数据治理与合规挑战:平衡创新与监管的关键战役

在当今数字化浪潮汹涌的时代&#xff0c;金融科技企业如雨后春笋般崛起&#xff0c;以其创新的技术和服务模式为金融行业带来了前所未有的变革。然而&#xff0c;伴随着业务的快速发展&#xff0c;数据治理与合规挑战也日益凸显&#xff0c;成为了金融科技企业必须直面的关键问…

Java房屋租赁管理系统附论文

作者介绍&#xff1a;计算机专业研究生&#xff0c;现企业打工人&#xff0c;从事Java全栈开发 主要内容&#xff1a;技术学习笔记、Java实战项目、项目问题解决记录、AI、简历模板、简历指导、技术交流、论文交流&#xff08;SCI论文两篇&#xff09; 上点关注下点赞 生活越过…

Python高速下载及安装的十大必备事项与C++联调

选择正确的版本&#xff1a; 访问Python官网&#xff08;https://www.python.org/&#xff09;下载最新稳定版本&#xff0c;目前最新稳定版本为3.12.4 避免下载并安装Python 2.x版本&#xff0c;因为它已经停止维护。 选择适合操作系统的安装包&#xff1a; 根据你的操作系…

IPFoxy Tips:为什么要选择动态住宅代理IP?

在大数据时代的背景下&#xff0c;代理IP成为了很多企业顺利开展的重要工具。代理IP地址可以分为住宅代理IP地址和数据中心代理IP地址。选择住宅代理IP的好处是可以实现真正的高匿名性&#xff0c;而使用数据中心代理IP可能会暴露自己使用代理的情况。 住宅代理IP是指互联网服务…

一场别开生面的python应用实战案例

学好python&#xff0c;改变人生&#xff01; 最近看了央视旗下的玉渊潭天微博介绍了菲律宾control我们sina微博的视频&#xff0c;这是一个难得的python实战案例&#xff0c;至少有四五个python重要硬核方向值得研究&#xff0c;所以今天写一下这个相关的一些技术领域&#xf…

Redis持久化的三种方式(RDB、AOF和混合)

Redis持久化的三种方式(RDB、AOF和混合) 目录 Redis持久化的三种方式(RDB、AOF和混合)介绍RDB示例1.配置文件2.触发 RDB 快照保存3.验证 AOF示例1.配置文件2.校验 混合型持久化存储配置文件 介绍 Redis数据主要存储与内存中&#xff0c;因此如果服务器意外重启、宕机、崩溃&am…