Eslint 和 Prettier 冲突(eslint-config-prettier 不工作)

Posted

技术标签:

【中文标题】Eslint 和 Prettier 冲突(eslint-config-prettier 不工作)【英文标题】:Eslint & Prettier conflicts (eslint-config-prettier not wokring) 【发布时间】:2020-12-25 01:44:15 【问题描述】:

我有一个简单的例子,其中语句没有分号。更漂亮的设置将 semi 设置为 false,但 eslint 将 semi 设置为 true。我为了避免它们之间发生冲突,我安装了 eslint-config-prettier。但我仍然收到分号错误。它本应在更漂亮的设置中占主导地位,但事实并非如此。

var var1, var2
var1 = 3
var2 = 4
var a =  name: "" 


 "devDependencies": 
    "eslint": "^7.8.1",
    "eslint-config-prettier": "^6.11.0",
    "eslint-plugin-prettier": "^3.1.4",
    "prettier": "^2.1.1"
  

.prettierrcc


  "arrowParens": "always",
  "bracketSpacing": true,
  "htmlWhitespaceSensitivity": "css",
  "insertPragma": false,
  "jsxBracketSameLine": false,
  "jsxSingleQuote": false,
  "printWidth": 86,
  "proseWrap": "preserve",
  "quoteProps": "preserve",
  "requirePragma": false,
  "semi": false,
  "singleQuote": false,
  "tabWidth": 2,
  "trailingComma": "es5",
  "useTabs": false,
  "vueIndentScriptAndStyle": false

.eslintrcc


  "root": true,
  "env": 
    "node": true
  ,
  "extends": ["prettier"],
  "plugins": ["prettier"],
  "rules": 
    "semi": ["error", "always"],
    "prettier/prettier": ["error"]
  

我收到以下错误:

/home/nick/Documents/Coding/NodeJs/simple-node/vanilla.js
  1:17  error  Missing semicolon  semi
  2:11  error  Missing semicolon  semi
  3:9   error  Missing semicolon  semi
  4:21  error  Missing semicolon  semi

【问题讨论】:

【参考方案1】:

您正在使用与您想要的相反的自定义规则覆盖默认设置为“关闭”的 Prettier 配置 (link to config)。只需将其删除:

  "rules": 
    "prettier/prettier": ["error"]
  

【讨论】:

以上是关于Eslint 和 Prettier 冲突(eslint-config-prettier 不工作)的主要内容,如果未能解决你的问题,请参考以下文章

ESLint 和 Prettier 冲突,无法为代码块禁用 Prettier

VsCode eslint与prettier配置冲突

Airbnb、ESLint、Prettier 在 Switch 和 Case 缩进上的冲突

防止 Prettier(代码格式化程序)和 ESLint/TSLint 之间的冲突

vscode, eslint, prettier, vetur冲突及解决

删除 `(` eslint (prettier/prettier)