当前位置: 首页 > news >正文

使用自动导入后,eslint报错 eslint9

前提:使用pnpm create vue@latest创建vue应用,并且在创建项目时就勾选eslint和prettier,不然有些配置还需要手动配,比如解决eslint和prettier的冲突问题

1. 解决使用自动导入后Eslint报错问题

  • 配置vite.config.ts
    // 自动导入api
    AutoImport({
      resolvers: [ElementPlusResolver()],
      imports: ['vue', 'pinia', 'vue-router'],
      // dts: 'src/auto-imports.d.ts', // 生成自动导入的类型声明文件
      eslintrc: {
        enabled: true, // 生成 ESLint 兼容的配置文件,运行程序后会生成下面这个文件,再设置成false
        filepath: './.eslintrc-auto-import.json', // 指定 ESLint 配置文件路径
      },
    }),
  • eslint.config.ts配置
import { createRequire } from 'module'
const require = createRequire(import.meta.url)
const autoImportConfig = require('./.eslintrc-auto-import.json')

export default defineConfigWithVueTs(
	.......
  {
    languageOptions: {
      // 导入变量
      globals: {
        ...autoImportConfig.globals, // 自动导入的全局变量
    },
  },
)

2. eslint完整配置文件

import pluginVue from 'eslint-plugin-vue' // Vue规范
import { defineConfigWithVueTs, vueTsConfigs } from '@vue/eslint-config-typescript'
import globals from 'globals'
import { createRequire } from 'module'
const require = createRequire(import.meta.url)
const autoImportConfig = require('./.eslintrc-auto-import.json')
// 它禁用了所有不必要的或可能与 Prettier 冲突的规则,确保将其放在最后,以便有机会覆盖其他配置。
import skipFormatting from '@vue/eslint-config-prettier/skip-formatting'

export default defineConfigWithVueTs(
  {
    name: 'app/files-to-lint',
    files: ['**/*.{ts,mts,tsx,vue}'],
  },

  {
    name: 'app/files-to-ignore',
    ignores: ['**/dist/**', '**/dist-ssr/**', '**/coverage/**'],
  },
  {
    languageOptions: {
      // 导入变量后,在项目中使用浏览器、node、自定义的变量时就不会报错
      globals: {
        ...globals.browser, // 浏览器全局变量
        ...globals.node, // Node.js 全局变量
        ...autoImportConfig.globals, // 自动导入的全局变量
      },
    },
  },
  pluginVue.configs['flat/essential'],
  vueTsConfigs.recommended,
  skipFormatting,
  {
    // 自定义规则
    rules: {
      'vue/multi-word-component-names': 'off', // 禁用 简单名字 规则
      'no-console': 'off',
      'no-debugger': 'off',
    },
  },
  {
    // 那些文件不需要eslint校验
    ignores: ['**/dist/**', '**/node_modules/**', '.css'],
  },
)

相关文章:

  • CCF CSP 第30次(2023.09)(1_坐标变换_C++)(先输入再计算;边输入边计算)
  • Xshell连接autodl时提示ssh服务器拒绝了密码,请再试一次
  • 【大模型学习】第十九章 什么是迁移学习
  • 微店关键词搜索商品详情API接口解析与应用
  • C++双端队列知识点+习题
  • ollama下载的DeepSeek的模型(Model)文件在哪里?(C盘下)
  • 【vue3学习笔记】(第144-146节)reactive函数;回顾vue2响应式原理;vue3响应式原理_proxy
  • 问deepseek: k-epsilon湍流模型,公式原理推导
  • 【基于ESP32-S3的多线程工业级温度监测系统】
  • 【业务场景实战】数据增量同步
  • 【计算机网络 第8版】谢希仁编著 第一章概述 课后题10、11、28、34解析
  • 使用 Arduino 和 ESP8266 Wi-Fi 模块发送电子邮件
  • python字符串练习题
  • 【QT】-一文读懂抽象类
  • 限流及熔断的场景?
  • 星越L_ 常规车门解锁方式讲解
  • C#中类‌的核心定义
  • git备份or打补丁
  • TCP为什么可靠?
  • Gartner发布量子网络安全策略指南:2030年量子计算将能够破坏传统的加密算法
  • 美艺网站建设/旺道seo系统
  • 宁波网站建设怎么样/百度提交工具
  • 专门找图片素材的网站/最新国际新闻50条简短
  • 做内容网站好累/免费seo推广计划
  • 做查询网站费用/百度指数平台
  • 塔式服务器主机建网站/市场营销方案