注意:eslint目前升級到9版本了
在 ESLint v9 中,配置文件已經從?.eslintrc
?遷移到了?eslint.config.js
配置的方式和之前的方式不太一樣了!!!!
詳見自己的語雀文檔:5、新版eslint9+prettier 配置
eslint.config.js
import { defineConfig } from 'eslint/config'
import globals from 'globals'
import js from '@eslint/js'
import tseslint from 'typescript-eslint'
import pluginVue from 'eslint-plugin-vue'
import Prettier from 'eslint-plugin-prettier/recommended'
import ts from '@typescript-eslint/eslint-plugin'
import tsParser from '@typescript-eslint/parser'export default defineConfig([{ files: ['**/*.{js,mjs,ts,vue}'] },{files: ['**/*.{js,mjs,ts,vue}'],languageOptions: { globals: globals.browser }},{files: ['**/*.{js,mjs,ts,vue}'],plugins: { js },extends: ['js/recommended']},tseslint.configs.recommended,pluginVue.configs['flat/essential'],{files: ['**/*.vue'],languageOptions: { parserOptions: { parser: tseslint.parser } }},{files: ['**/*.ts', '**/*.tsx'], // 針對 TypeScript 文件languageOptions: {parser: tsParser // 使用 TypeScript 解析器},plugins: {'@typescript-eslint': ts // 啟用 @typescript-eslint 插件},rules: {'@typescript-eslint/no-explicit-any': 'off' // 關閉 any 類型的檢查}},Prettier //注意必須放最后,不然eslint的默認配置會給prettier的規則覆蓋掉
])
?.prettierrc.cjs
module.exports = {printWidth: 120, // 每行代碼長度(默認80)tabWidth: 2, // 每個tab相當于多少個空格(默認2)useTabs: false, // 是否使用tab進行縮進(默認false)singleQuote: true, // 使用單引號(默認false)semi: false, // 聲明結尾使用分號(默認true)trailingComma: 'none', // 多行使用拖尾逗號(默認none)bracketSpacing: true, // 對象字面量的大括號間使用空格(默認true)jsxBracketSameLine: false, // 多行JSX中的>放置在最后一行的結尾,而不是另起一行(默認false)arrowParens: 'avoid', // 只有一個參數的箭頭函數的參數是否帶圓括號(默認avoid)proseWrap: 'preserve', // 編輯器自動換行endOfLine: 'auto' // 換行符
}
?這個時候我準備再配置一下css的代碼格式化規范,安裝Stylelint?
如果你希望將 Stylelint 集成到 ESLint 的工作流中,可以使用?
eslint-plugin-stylelint
?插件。這樣,你可以在運行 ESLint 時同時檢查 CSS 文件。
?原因:
eslint-plugin-stylelint
?目前只支持 ESLint v8,而我的項目使用的是 ESLint v9,因此出現了依賴沖突。
注意:如果不集成在eselint,eslint-plugin-stylelint
?目前只支持 ESLint v8,而你的項目使用的是 ESLint v9,
解決方案:單獨運行 Stylelint,而不通過 ESLint 集成或者使用prettier格式化等等。。。我沒試過,后來沒有配置css文件的代碼格式化了。。。。。不管了