Prettier 和 "vue/script-indent" 格式沖突

Prettier 和 "vue/script-indent" 之間的沖突可以通過在 Prettier 配置文件中設置 "vueIndentScriptAndStyle": true 來解決。

在項目根目錄下創(chuàng)建或修改 .prettierrc 文件,添加以下配置:

{
  "vueIndentScriptAndStyle": true
}

這樣,Prettier 就會遵循 "vue/script-indent" 的規(guī)則進行格式化,避免沖突。
vue文件script內縮進2tab的 .eslintrc文件配置:

{
  "rules":  {
      "vue/script-indent": ["error", 2, {
          "baseIndent": 1
       }] 
   },
 "overrides": [
  {
    "files":['*.vue'],
    "rules":{
        "indent": "off"
    }
    }
  ]
}

完整.eslintrc配置

{
  "root": true,
  "env": {
    "browser": true,
    "node": true,
    "es6": true
  },
  "extends": [
    "plugin:vue/vue3-recommended",
    "plugin:prettier/recommended",
    "plugin:@typescript-eslint/recommended"
  ],
  "plugins": [
    "import", "simple-import-sort"
  ],
  "parser": "vue-eslint-parser", // 解析.vue文件
  "parserOptions": {
    "parser": "@typescript-eslint/parser", // 解析<script>標簽中的代碼
    "ecmaVersion": 2021,
    "sourceType": "module",
    "ecmaFeatures": {
      "modules": true,
      "jsx": true
    }
  },
  "ignorePatterns": ["dist", "build", "node_modules", ".husky", ".vscode","**/*.min.js", "**/*.md", "**/*.css"],
  "rules": {
    // eslint-plugin-import 導入順序
    "import/order": ["error", { "groups": ["builtin", "external", "internal"] }],
    "@typescript-eslint/no-explicit-any": "off", // @ts-ignore
    "vue/multi-word-component-names": "off", // .vue文件明明必須是多個單詞命名
    "vue/script-indent": ["error", 2, {
      "baseIndent": 1
    }] // 對script標簽內的JavaScript縮進2個tab
  },
  "overrides":[
    {
      "files": [
        "*.vue"
      ],
      "rules": {
        "indent": "off"
      }
    }
  ]
}

設置前樣式

image.png

.prettierrc文件配置

image.png

設置后樣式:

image.png
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容