vue模版中.gitignore和.prettierrc功能区分

问题点:彻底解决 .prettierrc.eslintrc 的冲突问题

Prettier :是一个固执己见的代码格式化器。只关心代码的格式,如分号、引号、缩进、行长等,强制代码变成统一的风格,不检查代码逻辑和质量。

ESLint : 是一个代码质量和错误检查器 。它主要寻找代码中的错误模式、坏味道和潜在 bug。但它的部分规则(如 quotes, semi, indent)也涉及代码风格。

冲突解决方案:职责分离,让 Prettier 完全负责代码格式化,并让 ESLint 只专注于代码质量。

第 1 步:安装必要的包

lua 复制代码
npm install -D eslint-config-prettier eslint-plugin-prettier
npm install --save-dev prettier

1.1、 eslint-config-prettier关闭所有与 Prettier 冲突的 ESLint 规则 。它是一个配置集,会覆盖掉 ESLint 中所有不必要的或可能与 Prettier 冲突的规则(主要是那些风格规则)。 1.2. eslint-plugin-prettier将 Prettier 作为一条 ESLint 规则来运行 。它会在你运行 eslint 时,调用 Prettier 检查代码格式。如果格式不对,它会以 ESLint 错误(prettier/prettier)的形式报告出来。

第 2 步:配置 ESLint (.eslintrc.js)

extends 数组的最后一项 添加 'plugin:prettier/recommended'

java 复制代码
module.exports = {
  env: {
    browser: true,
    es2021: true,
  },
  extends: [
    // 1. 继承其他现有的ESLint配置(例如ESLint推荐规则、React插件、Vue插件等)
    'eslint:recommended',
    'plugin:react/recommended',
    // ... 你的其他配置

    // 2. 【核心】确保这行在 extends 数组的最后!
    // 这行代码实际上做了三件事:
    //   a. 启用了 eslint-plugin-prettier
    //   b. 设置了 'prettier/prettier' 规则为 'error'
    //   c. 扩展了 eslint-config-prettier 来关闭所有冲突的规则
    'plugin:prettier/recommended'
  ],
  // 通常不需要再单独在 `plugins` 里声明 'prettier',因为上面的 extends 已经包含了。
  rules: {
    // 3. 这里可以放置你自己的其他规则覆盖
    // 注意:所有关于格式的规则(分号、引号等)现在都应交给 Prettier 管理。
    // 这里只配置代码质量规则,例如:
    'no-unused-vars': 'warn',
    'react/prop-types': 'off' // 例如关闭某个规则
  },
  // ... 其他配置
};

第 3 步:配置 Prettier (.prettierrc)

json 复制代码
{
  "semi": true,
  "singleQuote": true,
  "tabWidth": 2,
  "trailingComma": "es5",
  "printWidth": 100
}
  1. 创建一个测试文件 ,比如 test.js,故意写得格式混乱(比如用双引号、不加分号)。
  2. 运行命令:
css 复制代码
npx eslint --fix test.js
  1. 检查文件:

    • 如果文件被自动格式化为你在 .prettierrc 中定义的风格(如单引号、加了分号),并且没有 ESLint 报 prettier/prettier 错误,说明配置成功!
    • 如果还有冲突,检查你的 extends 顺序是否正确。

配置编辑器/IDE(以 VSCode 为例)

为了让开发体验更流畅,需要正确配置编辑器。

  1. 安装插件 :确保已安装 ESLintPrettier - Code formatter 插件。
  2. 配置 VSCode 设置 (settings.json)
json 复制代码
{
  // 启用保存时自动修复
  "editor.codeActionsOnSave": {
    "source.fixAll.eslint": "explicit"
  },
  // 指定默认格式化器为 Prettier
  "editor.defaultFormatter": "esbenp.prettier-vscode",
  // 【重要】关闭编辑器自带的保存时格式化,我们用ESLint来触发
  "editor.formatOnSave": false,
  // 确保ESLint验证这些文件类型
  "eslint.validate": [
    "javascript",
    "javascriptreact",
    "typescript",
    "typescriptreact",
    "vue",
    "html"
  ]
}

当保存文件时,VSCode 会触发 eslint --fix,它既修复了 ESLint 能修复的质量问题,又通过 eslint-plugin-prettier 调用了 Prettier 进行格式化。一切都在一次保存中完成。

最终效果 :你运行 eslint --fix 时,它会先用自己的规则修复代码质量问题,然后调用 Prettier 进行格式化,一举两得。

相关推荐
换日线°18 小时前
前端炫酷展开效果
前端·javascript·vue
夏幻灵19 小时前
过来人的经验-前端学习路线
前端
CappuccinoRose19 小时前
React框架学习文档(七)
开发语言·前端·javascript·react.js·前端框架·reactjs·react router
FFF-X20 小时前
前端字符串模糊匹配实现:精准匹配 + Levenshtein 编辑距离兜底
前端
Hi_kenyon20 小时前
Ref和Reactive都是什么时候使用?
前端·javascript·vue.js
止观止20 小时前
深入理解 interface vs type:终结之争
前端·typescript
css趣多多20 小时前
vue环境变量
前端
RFCEO20 小时前
前端编程 课程十五、:CSS核心基础3:文字+段落样式
前端·css·文字+段落样式·css文本样式·美化页面文本内容·演示动画说明·单行文字垂直居中技
摇滚侠20 小时前
【程序员入门系列】jQuery 零基础入门到精通!Jquery 选择器 API
前端·javascript·jquery
源力祁老师20 小时前
深入解析 Odoo 中 default_get 方法的功能
java·服务器·前端