Vue 3 项目 ESLint 配置详解:初始模板的正确配置

本篇文章讲解下使用pnpm create vue创建的vue3项目中关于Eslint的一些相关配置

Vue 3 ESLint 配置指南

初始模板(pnpm create vue 创建)

ts 复制代码
import { globalIgnores } from 
'eslint/config'
import { defineConfigWithVueTs, 
vueTsConfigs } from '@vue/
eslint-config-typescript'
import pluginVue from 
'eslint-plugin-vue'
import skipFormatting from '@vue/
eslint-config-prettier/
skip-formatting'

export default defineConfigWithVueTs
(
  {
    name: 'app/files-to-lint',
    files: ['**/*.{ts,mts,tsx,vue}
    '],
  },
  globalIgnores(['**/dist/**', '**/
  dist-ssr/**', '**/coverage/**']),
  pluginVue.configs['flat/
  essential'],
  vueTsConfigs.recommended,
  skipFormatting
)

需要安装的包

bash 复制代码
pnpm add -D eslint-plugin-prettier

添加自定义配置后的完整文件

ts 复制代码
import { globalIgnores } from 
'eslint/config'
import { defineConfigWithVueTs, 
vueTsConfigs } from '@vue/
eslint-config-typescript'
import pluginVue from 
'eslint-plugin-vue'
import skipFormatting from '@vue/
eslint-config-prettier/
skip-formatting'
import prettier from 
'eslint-plugin-prettier'

export default defineConfigWithVueTs
(
  {
    name: 'app/files-to-lint',
    files: ['**/*.{ts,mts,tsx,vue}'],
  },
  globalIgnores(['**/dist/**', '**/
  dist-ssr/**', '**/coverage/**']),
  pluginVue.configs['flat/essential'],
  vueTsConfigs.recommended,
  skipFormatting,
  // 新增内容
  {
    plugins: {
      prettier: prettier
    },
    rules: {
      'prettier/prettier': [
        'warn',
        {
          singleQuote: true,
          semi: false,
          printWidth: 80,
          trailingComma: 'none',
          endOfLine: 'auto'
        }
      ],
      'vue/
      multi-word-component-names': [
        'warn',
        {
          ignores: ['index']
        }
      ],
      'vue/
      no-setup-props-destructure': 
      'off',
      'no-undef': 'error'
    }
  }
)

核心变化

  1. 添加导入 : import prettier from 'eslint-plugin-prettier'
  2. 添加配置对象 : 包含 plugins 和 rules
  3. 安装依赖 : eslint-plugin-prettier
    这样就完成了从初始模板到完整配置的转换。
相关推荐
炫饭第一名2 小时前
速通Canvas指北🦮——基础入门篇
前端·javascript·程序员
王晓枫3 小时前
flutter接入三方库运行报错:Error running pod install
前端·flutter
符方昊3 小时前
React 19 对比 React 16 新特性解析
前端·react.js
ssshooter3 小时前
又被 Safari 差异坑了:textContent 拿到的值居然没换行?
前端
曲折3 小时前
Cesium-气象要素PNG色斑图叠加
前端·cesium
Forever7_3 小时前
Electron 淘汰!新的桌面端框架 更强大、更轻量化
前端·vue.js
不会敲代码13 小时前
前端组件化样式隔离实战:React CSS Modules、styled-components 与 Vue scoped 对比
css·vue.js·react.js
Angelial3 小时前
Vue3 嵌套路由 KeepAlive:动态缓存与反向配置方案
前端·vue.js
jiayu4 小时前
Angular学习笔记24:Angular 响应式表单 FormArray 与 FormGroup 相互嵌套
前端
jiayu4 小时前
Angular6学习笔记13:HTTP(3)
前端