[译] 以和为贵!让 ESlint、Prettier 和 EditorConfig 互不冲突

2019年电赛D题《简易电路特性测试仪》全过程 2019年全国大学生电子设计大赛D题《简易电路特性测试仪》硬件部分及故障分析 阅读详情

原文链接:https://blog.theodo.com/2019/08/empower-your-dev-environment-with-eslint-prettier-and-editorconfig-with-no-conflicts/

ESLint, Prettier and EditorConfig

来由

如果你已经在搭配使用 Prettier 和 ESLint, 可能已经遇到过 代码格式化冲突 的问题了吧。

ESLint - Prettier conflict

我曾在一次把 TypeScript 项目从 TSLint 迁移到 ESLint 的工作中遇到过这些问题。我们打算用 ESLint 和 Prettier 接管语法检查,在添加了一条 ESLint 规则强制规定 2 个空格缩进以解决上图中的问题后,其他问题又像按下葫芦浮起瓢一样纷纷出现了,很明显没法子通过一条条增加规则解决每一个冲突。

网上关于这个话题的确有很多说法,但大部分都是针对某个特定项目给出一个配置,而非深入阐释为什么 ESLint、Prettier 或 EditorConfig 会八字不合。本文的目的就是对这些潜在的问题解惑,以免相关的 bug 再干扰调试。

策略

我们先来明确一下 各司其职 的原则:

  • EditorConfig 将负责统一各种编辑器的配置,所有和编辑器相关的配置 (行尾、缩进样式、缩进距离...) 都交给它

  • Prettier 作为 代码格式化 工具

  • 其余的,也就是 代码质量 方面的语法检查,用 ESLint 来做


ESLint 和 Prettier

假设我们有这么一个 main.js,并同时配置了 ESLint 和 Prettier。

main.js

function printUser(firstName, lastName, number, street, code, city, country) {
    console.log(`${firstName} ${lastName} lives at ${number}, ${street}, ${code} in ${city}, ${country}`);
}
printUser('John', 'Doe', 48, '998 Primrose Lane', 53718, 'Madison', 'United States of America');

eslintrc.json

{
  "extends": ["eslint:recommended"],
  "env": {
    "es6": true,
    "node": true
  }
}

让 Prettier 做它自己的工作

为了能 配合使用 ESLint 和 Prettier,应该 关闭所有可能和 Prettier 冲突的 ESLint 规则 (也就是 代码格式化 那些)。好消息是,eslint-config-prettier 包已经解决了这个问题。

npm install eslint-config-prettier --save-dev

先在 .eslintrc.json 中,将 prettier 加到 extends 数组的最后,并移除任何 代码格式化 相关的规则:

{
  "extends": ["eslint:recommended", "prettier"],
  "env": {
    "es6": true,
    "node": true
  }
}

如此一来, Prettier 的配置将覆盖 extends 数组中先前任何 代码格式化 相关的 ESLint 配置,二者就能并行不悖地工作了。

将 Prettier 整合进 ESLint

分别运行两条命令以检查语法和格式化代码可不太方便,我们可以通过安装 eslint-plugin-prettier 包来解决这个问题。

npm install eslint-plugin-prettier --save-dev

在 .eslintrc.json 的 plugins 数组中加入 prettier 插件,并建立一条指定为  error  的 Prettier 新规则,这样任何格式化错误就也被认为是 ESLint 错误了。

{
  "extends": ["eslint:recommended", "prettier"],
  "env": {
    "es6": true,
    "node": true
  },
  "rules": {
    "prettier/prettier": "error"
  },
  "plugins": [
    "prettier"
  ]
}

对 main.js 运行 ESLint 试一下:

npx eslint main.js
ESLint no fix

可以看到,那些字符过多或缩进错误的行,都被标以了 prettier/prettier 并作为 ESLint 错误被打印出来。

修复之:

npx eslint --fix main.js

文件将按 Prettier 的方式被正确格式化。

Prettier 和 ESLint 配合中的常见问题

添加 ESLint 插件

以上的配置应付小项目绰绰有余;但当你使用 Vue、React 或其他框架时,还是 很容易让 ESLint 和 Prettier 的配置打架。我遇到的一个常见问题是当开发者增加一个 ESLint 插件后,如何在不同时改动 Prettier 的情况下,也能让后者正常工作。

以 TypeScript 为例

出于某些考虑,我们决定在项目中使用 TypeScript。鉴于 TSLint 将被废弃,自然要用 ESLint 取而代之。这里就使用 TypeScript 作为一个例子,来展示 对于有一个适用的 ESLint 插件的框架,该如何处理。

这是进行了 TypeScript 改造后的 main.ts 文件:

function printUser(firstName: string, lastName: string, number: number, street: string, code: number, city: string, country: string): void {
 console.log(`${firstName} ${lastName} lives at ${number}, ${street}, ${code} in ${city}, ${country}`);
}
printUser('John', 'Doe', 48, '998 Primrose Lane', 53718, 'Madison', 'United States of America');

要想让 ESLint 兼容 TypeScript 或是其他什么特殊语法的框架,需要增加一个 parser 以使 ESLint 可以读取新的代码和相关的一系列规则。

npm install typescript @typescript-eslint/parser @typescript-eslint/eslint-plugin --save-dev

然后修改 .eslintrc.json,分别向 parser 选项和 extends 数组中包含 TypeScript 插件:

{
  "parser": "@typescript-eslint/parser",
  "extends": ["plugin:@typescript-eslint/recommended", "eslint:recommended", "prettier"],
  "env": {
    "es6": true,
    "node": true
  },
  "rules": {
    "prettier/prettier": "error"
  },
  "plugins": [
    "prettier"
  ]
}

带上 --fix 选项,再来试试 ESLint:

eslint-fix-option

这时如果我们多次执行这条命令,每次都将得到同样的报错 -- 尽管控制台里面说错误是可以被修复的。此时文件被修改为了这样:

function printUser(
  firstName: string,
  lastName: string,
  number: number,
  street: string,
  code: number,
  city: string,
  country: string
): void {
  console.log(
    `${firstName} ${lastName} lives at ${number}, ${street}, ${code} in ${city}, ${country}`
  );
}

printUser(
  'John',
  'Doe',
  48,
  '998 Primrose Lane',
  53718,
  'Madison',
  'United States of America'
);

所以 Prettier 的确格式化了我们的代码,但 ESLint 期望的 4 个空格没有被满足。错误看起来和 @typescript-eslint 规则有关。

如果你像我一样在使用 VSCode 并开启了保存时自动执行 ESLint 修复,可能会看到这种情况:

Conflict between typescript eslint and prettier

通过禁用新增插件的所有 ESLint 格式化规则解决冲突

很多人的一个常见错误就是头疼医头、脚疼医脚。比如对于这个 @typescript-eslint 插件里面的缩进规则,他们会往 rules 数组中添加一条这样的规则:

"@typescript-eslint/indent": ["error", 2]

这当然解决了具体冲突,但有两个问题出现了:

  • 无法保证 typescript-eslint 插件中的其他规则今后不和 Prettier 冲突

  • ESLint 和 Prettier 又开始同时负责代码格式化了,这违背了我们的分工策略

按照之前的整合方法,通过在 extends 数组中增加 prettier/@typescript-eslint 来禁用相关插件中所有关乎 代码格式化 的规则。

{
  "parser": "@typescript-eslint/parser",
  "extends": ["plugin:@typescript-eslint/recommended", "eslint:recommended", "prettier", "prettier/@typescript-eslint"],
  "env": {
    "es6": true,
    "node": true
  },
  "rules": {
    "prettier/prettier": "error"
  },
  "plugins": [
    "prettier"
  ]
}

谨记 .eslintrc.json 中 extends 数组的顺序非常重要。基本上每次向数组添加新配置时,都将覆盖之前的配置。因此 prettier 和 prettier/@typescript-eslint 待在数组末尾至关重要。

这样配置后就没问题了,ESLint 将不会再越俎代庖。

总结一下这种常见问题:

  • 每当你添加一个 ESLint 插件,针对 它引入的 代码格式化 规则 添加一个 prettier 配置 (如果有的话) 。在我们的例子中,使用了 prettier/@typescript-eslint,但其实我们也可以用 prettier/react 或 prettier/vue。检查 eslint\-config\-prettier 文档(https://github.com/prettier/eslint-config-prettier) 获取可用的 ESLint 插件。

  • 不要尝试自己覆盖 eslintrc 中的格式化规则

  • 每当你见到这种 Prettier 和 ESLint 对同一种格式化的冲突,就以为着你有一条无用的 ESLint 格式化规则,也意味着你没有遵守以上两条

添加一条自定义规则

项目团队中的 TypeScript 开发者对 2 个空格缩进浑身不舒服,非要改成 4 个。一个常见的错误是把我们的 ESLint-Prettier 整合策略抛之脑后,并在 .eslintrc.json 中直接添加规则,就像这样:

{
  "parser": "@typescript-eslint/parser",
  "extends": ["plugin:@typescript-eslint/recommended", "eslint:recommended", "prettier", "prettier/@typescript-eslint"],
  "env": {
    "es6": true,
    "node": true
  },
  "rules": {
    "prettier/prettier": "error",
    "@typescript-eslint/indent": ["error", 4]
  },
  "plugins": [
    "prettier"
  ]
}

熟悉的错误毫无意外地又出现了,和我们之前解决 Prettier 协同 ESLint 时遇到的一摸一样:

Conflict with custom rule

在 rules 数组中自定义的规则会覆盖 prettier/@typescript-eslint 配置。

按照正确的策略,代码格式化 规则应该在 .prettierrc 中配置。对于例子来说,应该是:

.prettierrc

{
  "tabWidth": 4
}

这样 Prettier 将以 4 个空格格式化代码,而 .eslintrc.json 应该不关心任何缩进规则。

总结一下这种常见问题:

  • 当你想添加一条规则时,分清其属于 代码质量 还是 代码格式化 类别。简单地做法是,检查这条规则在 Prettier 中是不是可行的

  • 不要在 .eslintrc.json 中添加格式化规则,这样做将不可避免的和 Prettier 冲突


Prettier 和 EditorConfig

设置编辑器配置

EditorConfig 使不同编辑器可以保持同样的配置。因此,我们得以无需在每次编写新代码时,再依靠 Prettier 来按照团队约定格式化一遍(译注:出现保存时格式化突然改变的情况)。当然这需要在你的 IDE 上安装了必要的 EditorConfig 插件或扩展。

本文以 VSCode 为例,但 EditorConfig 支持很多编辑器。

在项目中增加自定义的编辑器配置:

.editorconfig

[*]
end_of_line = lf
charset = utf-8
indent_style = space

如果安装了 the EditorConfig VSCode extension,编辑器将自动获知该如何格式化你的文件。你也能在编辑器右下角看到相应的信息:

vscode

避免 EditorConfig 和 Prettier 的重复配置

但是,这意味着 Prettier 和 EditorConfig 共享了相同的配置选项,而我们不希望同步维护两份重复的配置 (比如关于行尾的配置)。Prettier 的最新版本通过处理 .editorconfig 文件来决定使用的配置。

限于以下几种选项:

end_of_line
indent_style
indent_size/tab_width
max_line_length

这些选项会被映射为 Prettier 的相关选项 (如果没有在 .prettierrc 再被定义的话):

"endOfLine"
"useTabs"
"tabWidth"
"printWidth"

就像 ESLint 配合 Prettier 时的策略那样,在你改变 EditorConfig 或 Prettier 配置时,根据这些限定选项来决定在哪边改。上面例子中的选项就应该只在 .editorconfig 中存在。

据此再检查我们上面做过的所有配置,还能发现一个配置错误。我们在 Prettier 配置中指定了缩进距离。因为这也是一个浏览器相关的配置,所以应该将其移至 .editorconfig。

.editorConfig

tab_width 4

现在我们删除了已经空白的 .prettierrc.json,并对未格式化的代码运行 ESLint:

function printUser(
    firstName: string,
    lastName: string,
    number: number,
    street: string,
    code: number,
    city: string,
    country: string
): void {
    console.log(
        `${firstName} ${lastName} lives at ${number}, ${street}, ${code} in ${city}, ${country}`
    );
}

printUser(
    "John",
    "Doe",
    48,
    "998 Primrose Lane",
    53718,
    "Madison",
    "United States of America"
);

代码缩进变成了 4 个空格。现在,无论你在何时用编辑器打开一个新文件,都会应用这个配置,Prettier 同样也会遵循。



--End--

查看更多前端好文
请搜索 云前端 或 fewelife 关注公众号

转载请注明出处

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的体育赛事目标检测系统(Python+PySide6界面+训练代码) 本文详细介绍了一个基于YOLOv5/v6/v7/v8的体育赛事目标检测系统的设计与实现。系统采用先进的深度学习算法,结合PySide6图形界面,实现了对体育赛事中运动员、球类、裁判等多种目标的实时检测与跟踪。本文将全面阐述系统的架构设计、算法原理、训练流程、界面实现以及实际应用效果,并提供完整的代码实现。 阅读详情

相关推荐

Android存储空间不足下,APP出现奔溃等情况

版权声明:本文为博主原创文章,未经博主允许不得转载。 1. 问题起因     实时录制视频,使用getExternalCacheDir()函数返回的路径作为文件缓存区 2. 问题产生     系统在空间不足的情况下第一清除getExternalCacheDir和getCache文件下的缓存,导致正在录制的视频出现Error。 3. 解决方案     第一

OverseasAndroid的博客 4159

typescript项目eslint配置

1、装包 npm i eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin -D 2、配置eslint规则(.eslintrc.js) module.exports = { 'parser': '@typescript-eslint/parser', 'plugins': ['@typescript-eslint'], 'rules': { 'no-var': 'error',// 不能使用var声明变量

qq_42760405的博客 6941

【SPSS实战】手动实现Quade非参数协方差分析:从数据准备到结果解读

本文详细介绍了在SPSS中手动实现Quade非参数协方差分析的实战方法。当数据不满足正态分布等参数检验假设时,通过将协变量和因变量转换为秩,并利用秩回归残差进行Kruskal-Wallis组间比较,提供了一种清晰、可操作的近似解决方案。该方法有效解决了非正态数据的协变量调整问题,适用于实验研究和调查数据分析。

bean的博客 468

在TypeScript项目中使用ESLint,看这篇就够了

我是傲夫靠斯,欢迎关注我的公众号【前端工程师的自我修养】,每天更新。 ESLint是一个十分优秀的JavaScript代码检查工具,我们可以用ESLint来检查TypeScript和JavaScript代码。这篇文章我将一步一步展示如何在项目中使用ESLint来检查代码。 介绍 ESLint和TSLint ESLint是JavaScript代码检查工具,使用ESLint能让我们的代码遵循特定的样式格式。并且检查代码是否符合格式规范。 可能有人听过TSLint,它是为TypeScript为生的。但在201.

小帅的编程笔记 1万+

YOLOv11n-seg 实战指南:从训练到模型部署的完整流程

本文提供了YOLOv11n-seg实例分割模型从环境准备、数据标注到模型训练、验证及最终部署的完整实战指南。详细讲解了如何准备多边形掩码数据、配置关键训练参数、解读分割核心评估指标,并重点介绍了将模型导出为ONNX等格式进行部署的流程与优化技巧,帮助开发者高效完成从开发到生产的全链路实践。

weixin_29062255的博客 552

Yolo8行人车辆目标检测实战分享 完整项目代码可直接运行

Yolo8行人车辆目标检测实战分享 完整项目代码可直接运行

1293

web前端开发之配置(六)——搭建react项目架构(引入TypeScript)

目录 第一步:初始化项目 第二步:安装相关依赖 Babel相关: typeScript相关 esLint相关 样式相关:css、less react相关 接口相关:axios、mock UI库:antd 其他 第三步:配置TypeScript(非必需,使用可以使项目利于维护和阅读) 第四步:设置eslint,进行代码规范 第五步:配置webpack 第六步:创建 rea...

DecadentF的博客 888

Java零基础之多线程篇:线程间如何通信?

随着计算机技术的发展,多线程编程已经成为现代软件开发中的一个重要方向。在多线程编程中,线程间的通信是一个非常关键的问题。在Java开发语言中,Java提供了一些机制来实现线程间的通信,帮助开发者协调不同线程之间的执行顺序和数据交换。本文将介绍Java多线程编程中的线程间通信的相关知识。首先,我们将从简介开始,介绍线程间通信的基本概念和原理。然后,我们将通过源代码解析的方式,深入探讨Java中实现线程间通信的方法。接着,我们将给出一些应用场景案例,展示线程间通信在实际开发中的应用。

喵手的博客 1557

前端项目规范化1:什么是.editorconfig文件以及prettier转换.editorconfig文件属性

EditorConfig有助于为在不同编辑器和IDE中处理同一项目的多个开发人员维护一致的编码风格EditorConfig项目由一个用于定义编码样式的文件格式和一组文本编辑器插件组成,这些插件使编辑器能够读取文件格式并遵守定义的样式EditorConfig文件很容易阅读,并且可以很好地与版本控制系统配合使用。

个人博客 945

Apollo 9.0 速度非线性规划算法 – piecewise jerk speed nonlinear optimizer Ⅰ

二次规划的速度规划算法(PiecewiseJerkSpeedOptimizer)的存在两个问题: 这里以一张图来说明上面的问题,假设存在一个实际限速区间(或曲率很大需要降速的区间)[S1, S2],PiecewiseJerkSpeedOptimizer的做法是根据动态规划的st曲线(黑色),找到具体的时间区间[T1, T2],然后对区间[T1, T2]内所有的点施加约束或惩罚。但是二次规划平滑后的曲线(黄色)发生了变化,那么限速区间[S1, S2]对应的时间区间[T1, T2]也发生了变化,所以实际应该是对

WaiNgai 332

STM32声源定位:实现声源定位的嵌入式解决方案

通过以上代码,我们可以获取麦克风音频信号样本,并使用交叉相关法计算声源的位置。然而,我可以帮助您解答有关STM32声源定位的问题,提供相关的代码和指导。获取了麦克风音频信号后,我们可以使用信号处理算法来计算声源的位置。该算法通过计算不同麦克风之间的信号延迟来确定声源的方向。首先,我们需要获取每个麦克风的音频信号。声源定位是一项重要的技术,可以帮助我们确定声音的来源位置。在嵌入式系统中,使用STM32微控制器可以实现精确的声源定位。声源定位的基本原理是通过多个麦克风阵列接收到的声音信号来计算声源的位置。

UplKubernetes的博客 2581

eslint+prettier 配置

eslint 代码规范和错误检查工具 1,安装eslint npm install eslint --save-dev 2,eslint 配置文件 npm init @eslint/config 以上两步按照完成后,eslint 即完成 prettieer 代码格式化工具 eslint-config-prettier 第一:package.json { "name": "testEslinPrettier", "uuid": "9b01ebaa-4170-4ca.....

z1067832450_的专栏 2872

基于Simulink环境,提供一个关于如何对无人机电源DC-DC变换器进行仿真建模的示例

无人机电源要求:无人机的各个子系统(如电机、传感器、通信模块等)可能需要不同级别的电压供应。重要性稳定性:稳定的电源是保证无人机各部件正常工作的基础。效率:高效的电源管理可以显著增加飞行时间和任务执行能力。挑战多负载适应性:需要能够为不同负载提供合适的电压和电流。动态响应:快速响应负载变化的能力对于维持系统稳定性至关重要。首先明确要模拟的任务内容。设计一个能够在不同负载条件下为无人机提供稳定电压的DC-DC变换器。根据无人机的工作状态调整控制策略以维持最佳性能。

xiaoheshang_123的博客 134

代码规范之-理解ESLint、Prettier、EditorConfig

授权转载自:nowThenhttps://juejin.cn/post/6895889063111294990前言团队多人协同开发项目中困恼团队管理一个很大的问题是:无可避免地会出现每个...

我本可以容忍阳光,如果我不曾见过太阳,然而阳光已使我荒凉,成为更新的荒凉。 1467

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Vue3+Ts项目建立 editorcongfig配置、prettier配置、ESLint配置、eslint和prettier冲突问题

文章目录一、创建Vue3项目1、使用vue create命令创建项目二、 代码规范2.1 集成editorcongfig配置2.2 使用prettier工具2.3使用ESLint检测 一、创建Vue3项目 1、使用vue create命令创建项目 1、# 创建项目 vue create <project name> 2、选择手动创建 3、选择需要的,这主要讲一下怎么配置Linter/Formatter 4、选择3.x 5、使用类样式组件语法 选择N 6、我们使用Babel处理 选择Y

zhangtw的博客 3312

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

ESLint 中与 Prettier 规则 与 editorconfig优先级

ESLint、Prettier和EditorConfig在格式化规则上存在优先级差异:Prettier强制格式化优先级最高,会覆盖其他配置;ESLint通过eslint-config-prettier应禁用与Prettier冲突的格式规则;EditorConfig仅作为编辑器基础配置。最佳实践是保持三者核心规则(如缩进、换行符)一致,明确分工:Prettier主导格式化,ESLint专注代码质量检查,EditorConfig提供编辑器基础约定。

马优晨 473

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

代码规范体系(EditorConfig、ESLint、Prettier、Husky)

1.下载:npm install --save-dev jest。来检测两个值是否完全相同。

zxz86的博客 365

eslint代码长度超过了最大值限制_ESlint+Prettier+EditorConfig+VScode

背景协同开发时,因各人使用代码格式化不一致,diff 时就很难看出改动点在哪里看到 esint 报红就害怕,觉得上了 eslint 就像上了枷锁目标 少依赖,只需要开启 ESlint 即可 "零"配置,减少风格差异选择的争吵 全自动化,自动修复,保持原本的习惯即可所用知识点ESLintPrettierEditorConfigvscode效果点击保存command + s / Ctrl + s后...

weixin_42535461的博客 4787

ESLint+Prettier+editorconfig

editorconfig 官网是这么介绍EditorConfig的,“EditorConfig帮助开发人员在不同的编辑器和IDE之间定义和维护一致的编码样式.通俗一点说就是保证每个开发者的编码风格一致 首先安装EditorConfig 在代码根目录创建.editorconfig文件 # http://editorconfig.org root = true [*] # 表示所有文件适用 charset = utf-8 # 设置文件字符集为 utf-8 indent_style = spac

cai_niao5623的博客 434

EditorConfig + ESLint + Prettier 实现代码规范化

接上文,本文主要记录下如何实现代码规范化。

lhz_333的博客 1901

代码规范配置未生效,解决思路( eslint + prettier + settings.json + editorconfig )

介绍 eslint, prettier, settings.json, editorconfig 的关系,分析代码规范配置冲突的解决思路

TrumanGao的博客 9449

react eslint自动修复_ESlint+Prettier+EditorConfig+VScode

背景协同开发时,因各人使用代码格式化不一致,diff 时就很难看出改动点在哪里看到 esint 报红就害怕,觉得上了 eslint 就像上了枷锁目标 少依赖,只需要开启 ESlint 即可 "零"配置,减少风格差异选择的争吵 全自动化,自动修复,保持原本的习惯即可所用知识点ESLintPrettierEditorConfigvscode效果点击保存command + s / Ctrl + s后...

weixin_42445810的博客 1884

ESLint与Prettier冲突导致单引号失效?一文解决配置打架问题

解决ESLint与Prettier冲突,轻松实现VSCode Prettier配置单引号统一。适用于Vue、React等项目,通过调整.prettierrc和.eslintrc规则,确保代码风格一致。配置简单,效果稳定,值得收藏。

StepNexus的博客 1053

EditorConfig + Prettier + ESLint 代码规范化

本项目中的 ESLint 配置中使用了 Airbnb JavaScript 风格指南校验,其规则之一是代码结束后面要加分号,而我们在 Prettier 配置文件中加了代码结束后面不加分号的配置项,这样就有冲突了,会出现用 Prettier 格式化后的代码,ESLint 检测到格式有问题的,从而抛出错误提示。此时,我们在 ESLint 配置了 Airbnb JavaScript 规则,在编码时,所有不符合 Airbnb 风格的代码,编辑器都会给出提示,并且可以自动修复。(你的项目使用哪种类型的模块?

看到我在玩请叫我去敲代码的博客 862

VUE中集成editorconfig配置并使用prettier和ESLint

VUE中集成editorconfig配置并使用prettier和ESLint

H_jrqn的博客 1015

【总结】1265- 理解 ESLint、Prettier、EditorConfig 代码规范

前言团队多人协同开发项目中困恼团队管理一个很大的问题是:无可避免地会出现每个开发者编码习惯不同、代码风格迥异,为了代码高可用、可维护性, 如何从项目管理上尽量统一和规范代码呢?[x] 文档...

pingan8787 723
上一篇: 在不同 webpack 版本的 Vue 项目中配置 Storybook
下一篇: [译] 改善 DaVinci Resolve 性能的 5 个秘诀
云前端
博客等级 码龄17年 101粉丝 113原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值