vue3+vite快速配置eslint的踩坑

2023-11-13

前言

本文强调快速配置eslint,所以不使用下载依赖包和配置的方式进行eslint配置;而是使用现有的eslint自动化构建的包进行快速配置;
无论是新项目要集成eslint还是已经开发了一段时间的项目中途要加入eslint都可以按文章中的步骤执行
如不想看前边啰嗦的踩坑则可以直接跳到文章尾部 从 正确的步骤 开始

eslint 官方构建命令

eslint其中一种构建方式

// 首先全局安装eslint
npm i eslint -g
// 初始化eslint 直接按提示操作 eslint会自动下载所需的包和所需的配置
eslint --init

结果
在这里插入图片描述

对于以上方式构建后在vscode中无法使用eslint插件对代码进行格式化;更不用说对vue支持

vite的方式构建vue项目并选中构建eslint

构建方式可以参考: https://vitejs.cn/guide/#scaffolding-your-first-vite-project

执行:npm init vite@latest my-vue-app -- --template vue (npm@7+)
按照步骤执行,中间有一个eslint的选项 选yes;所有步骤执行完毕后就可以得到一个有eslint的项目;
但是依然不能使用vscode的eslint插件,貌似只能执行命令进行格式化;而且对于一些明显的不规范写法也是没有报红,非常不友好

正确的步骤:

  1. 执行 npm init vue@latest 可以使用vite创建项目 它自身可以选择使用带eslint 但是到vscode上实际上用不了,所以使用这个命令创建时不要使用它的eslint,遇到eslint选择No
  2. 创建好项目下载完依赖后执行 vue add eslint 按照步骤配置eslint就行了
  3. 但是这个默认的parser对vue3和ts的解析都有问题所以需要下载另外两个parser; npm i vue-eslint-parser @typescript-eslint/parser -D
  4. 然后就是配置
    .eslintrc.js 文件中加入以下配置
module.exports = {
 parser: 'vue-eslint-parser',
  parserOptions: {
    parser: '@typescript-eslint/parser',
    ecmaVersion: 2020,
    sourceType: 'module',
    ecmaFeatures: {
      jsx: true,
      tsx: true,
    },
  },
}
  1. 此时已经可以使用vscode的eslint插件进行格式化了,找一个vue文件,右键选择使用...格式化文档,就可以看到eslint插件选项了,如果不行检查下是否开启了eslint插件格式化的功能(设置的地方就在插件的配置中,百度上一大堆),如果开启了还没有显示就重启vscode;(此方法本人已经测试了N次,没有问题)
  2. 还有个小问题,就是框架生成的有一个lint命令,但是执行的时候会报错,报错是关于 @vue/cli-service 插件的报错,因为构建的时候并没有下载这个插件,但是命令中又需要,所以应该算是一个官方的疏漏;不过解决也简单,只是缺了这个包而已,执行 npm i @vue/cli-service -D;
  3. lint 命令的作用就是将项目中所有符合格式化条件的文件进行格式化,适合已经开发一段时间的项目中途加入eslint时使用;
  4. 特坑注意:使用 npm init vite@latest 生成的vue3项目无法使用 vue add eslint 命令;这个我也没有过多的去研究;反正使用以上的方法是可以生成一个完美带有eslint的项目

over ~~

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vue3+vite快速配置eslint的踩坑 的相关文章

  • 滚动时输入自动完成位置错误(chrome)

    我在输入文本的默认自动完成功能方面遇到了一些麻烦 滚动时它不会相应移动 我希望自动完成文本保留在输入的正下方 有办法做到这一点吗 我在 Chrome 浏览器版本 57 0 2987 133 中发生这种情况 fiddle https jsfi
  • Angular 6 中的 Http 错误处理

    我正在尝试使用 Angular 6 中的以下类来处理 http 错误 我从服务器收到 401 未经授权状态 但我没有看到控制台错误消息 HttpErrorsHandler ts 文件 import ErrorHandler Injectab
  • 打开 md-calendar 时滚动到当前日期

    目前正在构建一个使用 Angular Material 的应用程序 我们需要一个 md calendar 组件 我们想要自定义按钮样式和内容 因此不使用普通的 md datepicker 问题是 当 md calender 打开时 滚动位置
  • window.onbeforeunload 在 Android Chrome 上不会触发 [alt.解决方案?]

    我开发了一个简单的聊天应用程序 我正在使用 window onbeforeunload当有人关闭选项卡 浏览器时 基本上是当用户离开房间时 通知其他用户 这是我的代码 scope onExit function scope chatstat
  • Chrome 扩展同步调用 - 仅在窗口关闭后创建窗口

    我有这个代码 function voteNewWindow mailNum chrome windows create url http www google com incognito true function window conso
  • 搜索深度嵌套数组以更新对象

    我有一个深层嵌套的数据结构 我有兴趣匹配数组 和数组数组 中的某个值 然后将一些数据推送到随附的数组中 例如以下是我的数组colors并伴随着的是更多颜色数组可能存在也可能不存在 var myData color green moreCol
  • 确定元素是在页面折叠上方还是下方

    我有一些页面有多个输入框 用户可以在其中输入文本 在单击 下一步 按钮之前 需要填写其中一些内容 我弹出验证错误供用户查看 但是如果问题不在页面上 我希望页面滚动到它 而不是他们必须搜索丢失 错误的字段 我有一个滚动到位 但我无法确定要滚动
  • 无法实例化模块 [$injector:unpr] 未知提供程序:$routeProvider

    我从 AngularJS 升级时收到此错误1 0 7 to 1 2 0rc1 ngRoute 模块不再是核心的一部分angular js文件 如果您继续使用 routeProvider 那么您现在需要包括angular route js在你
  • 使用 JavaScript 生成 PDF 文件

    我正在尝试将 XML 数据从网页转换为 PDF 文件 并且希望能够完全在 JavaScript 中完成此操作 我需要能够绘制文本 图像和简单的形状 我希望能够完全在浏览器中完成此操作 我刚刚写了一个名为jsPDF https github
  • 如何在 Laravel 5.4 中加载 Vue 组件?

    我已经运行 npm run watch 并收到了消息 This dependency was not found in resources assets js app js To install it you can run npm ins
  • 为什么将 x 和 y 设置为 0 时 svg 文本会消失?

    我刚刚开始阅读有关svg我提出了以下问题 我正在创建一个简单的svg with a text里面如下图所示 从我的阅读中我了解到x and y of the text标签声明文本在标签内的位置svg space 为什么当我同时设置x and
  • 在 Fabric.js 中按宽度/高度在另一个画布对象内居中和缩放画布对象

    Goal 将一个对象 水平和垂直 置于另一个对象 矩形或组 的中心canvas via Fabric js或者通过Javascript保持原始对象的长宽比相同 但也不超过父对象的宽度 高度比例 父对象 矩形或组 不会居中于canvas元素
  • 如何使用 vanilla JS 实现可维护的反应式 UI

    今天我遇到了一个问题 可以通过使用像 Vue 这样的反应式和状态管理框架来轻松解决 遗憾的是 无法使用它 以下 简化 情况 链接到代码笔 https codepen io theiaz pen BazErKV 我们有一个服务器渲染的页面 其
  • 如何处理requireJs超时错误?

    我正在使用 require js 作为加载框架编写一个移动混合应用程序 我遇到加载错误的问题 我想做的是在设备离线且无法下载在屏幕上显示地图所需的 google 地图 API 脚本时设置后备解决方案 我得到的只是 Uncaught Erro
  • 从 DirectionsRenderer 中获取折线或标记的事件

    我正在使用 DirectionsService 和路线方法来生成 DirectionsResult 我还使用 DirectionsRenderer 对象来显示结果 因为它非常易于使用 我在检测 Directions changed 事件时没
  • JavaScript 数组扩展语法的时间复杂度是多少?

    我想知道在 JavaScript 中使用数组扩展的时间复杂度是多少 是线性 O n 还是常数 O 1 下面的语法示例 let lar Math max nums 传播称为 Symbol iterator 有关对象的属性 对于数组 这将迭代数
  • RoR - Rails 中的大文件上传

    我有一个 Rails Web 应用程序 允许用户上传视频 视频存储在 NFS 安装的目录中 当前的设置适用于较小的文件 但我也需要支持大文件上传 最多 4GB 当我尝试上传 4GB 文件时 它最终会发生 但从用户体验的角度来看很糟糕 上传开
  • JavaScript:测试与执行

    我想知道检查字符串 例如邮件 密码等 的最佳方法是什么 i exec a vs i test a exec返回值 test true test 1 way var mail req body mail if check mail exec
  • MongoDB中如何通过引用字段进行查询?

    我有两个 Mongo 模式 User id ObjectId name String country ObjectId Reference to schema Country Country id ObjectId name String
  • Internet Explorer 9 是否会因数组和对象文字末尾的额外逗号而卡住?

    现代浏览器和 Node js 等环境允许您说 a 1 b 2 或 1 2 3 这在历史上一直是 Internet Explorer 的问题 Internet Explorer 9 中修复了此问题吗 对此有两种不同的答案 一种是对象初始值设定

随机推荐

  • 初识 Redis - 分布式,内存数据存储,缓存

    目录 1 什么是 Redis 1 1 Redis 内存数据存储 1 2 Redis 用作数据库 1 3 Redis 用作缓存 cache 1 4 用作消息中间件 1 什么是 Redis The open source in memory d
  • 关于面试时的自我介绍口述(样版)

    前言 段落引用很多小伙伴都有过面试不知道说啥 一昧的做简单的自我介绍 如 我叫XXX 今年几岁 男 来自XXX 然后就不知道说啥了 甚至有的会说简历上有您直接看就是了 口述朗文 下面的1 2 3 4无需在口述中表达出来 简单的说就是别念出来
  • 右键菜单调用命令行

    新建文档 Windows Registry Editor Version 5 00 HKEY CLASSES ROOT Folder shell CmdPrompt cmd here HKEY CLASSES ROOT Folder she
  • DELL戴尔笔记本电脑灵越Inspiron 14 5410&5418原厂Win10系统恢复原装OEM出厂状态系统

    Dell戴尔笔记本电脑 灵越Inspiron 14 5410 5418原装出厂OEM系统镜像原厂系统文件 系统自带所有驱动 出厂主题壁纸LOGO Office办公软件等预装程序 链接 https pan baidu com s 1Qj dW
  • C++ 核心编程

    一 内存分区模型 C 程序在执行时 将内存大方向划分为4个区域 代码区 存放函数体的二进制代码 由操作系统进行管理 全局区 存放全局变量和静态变量以及常量 栈区 由编译器自动分配释放 存放函数的参数值 局部变量等 堆区 由程序员分配和释放
  • 基于STM32的ESP8266获取天气数据(HAL库)

    一 介绍 进入主题 下图正是购买的esp8266模块 对于esp01 引脚图如下 二 刷固件 在使用AT指令时 有时候会无法进入AT模式 也就是在串口发送指令 无应答 除了检查引脚和TTL模块是否接错 还可能是需要刷固件 在接线时要注意TT
  • View移动(scrollTo()、scrollBy()方法)

    源码 View java public void scrollTo int x int y if mScrollX x mScrollY y int oldX mScrollX int oldY mScrollY mScrollX x mS
  • 其实UE4资料很丰富

    除了303个shader外 还有program里面的例子
  • QMap & QHash基础应用

    include
  • 神文!高校教授跑了一个月外卖写下这篇文,几千万浏览量,5万+评论

    省时查报告 专业 及时 全面的行研报告库 省时查方案 专业 及时 全面的营销策划方案库 免费下载 2023年7月份全网热门报告合集 ChatGPT提词示例 让你的ChatGPT聪明100倍 超百页干货资料 AI应用的难点 痛点与未来 202
  • 每一个都能笑抽的 39 个奇葩代码注释

    素材来源 网络 1 只有上帝知道 我写这一行的时候 只有上帝和我知道我在写什么 现在 只有上帝知道了 2 相隔时空的 diss somedev1 6 7 02 添加对登录屏幕的暂时追踪功能 somedev2 5 22 07 暂时个屁 仿佛看
  • 在vscode中配置python的安装环境

    一 首先需要下载python版本和vscode的版本 这个需要自己根绝电脑的操作系统进行配置 1 python安装官网 https www python org downloads 但是官网下载很慢 所以可以放到迅雷中进行下载 或者这个也能
  • 【OSS】【Py】OSS出现The specified key does not exist问题

    今天接口的OSS模块出现异常 Exception status 404 x oss request id 5C50209BAE509FEEA16D753E details Code NoSuchKey Message The specifi
  • win10 cpu虚拟化打不开

    win10 cpu 虚拟化打不开 重启进入windows 的bios界面 一共需要调整两处Intel Virtualization Technology 一个在advance下 另一个在advance下的cpu设置里面 两个都设置为enab
  • 软件测试题目汇总

    软件缺陷 1 软件未实现产品说明书要求的功能 2 软件出现了产品说明书指明不应该出现的错误 3 软件实现了产品说明书未提到的功能 4 软件未实现产品说明书虽未明确提及但应该实现的目标 5 软件难以理解 不易使用 运行缓慢或者从测试员的角度看
  • 爬取天眼查 的python 代码

    Description 天眼查关键词爬取风险信息 Author bessie lina Date 2019 08 14 17 39 30 LastEditTime 2019 08 30 16 32 13 LastEditors Please
  • docker 安装fileBrowser

    fileBrowser 是一个 Web 文件浏览器 它更类似于一个网盘服务器 使我们可以在浏览器中访问服务器上的文件资源 同时 fileBrowser 还支持添加多个用户 并为不同的用户设置不同的访问权限 除此之外 fileBrowser
  • Eclipse添加注释的快捷键alt+shift+j

    http www cnblogs com xuedexin articles 5658346 html
  • [464]Outlook如何备份邮件

    如何在outlook中添加新账户 点击outlook菜单栏上的 文件 选项 可以看到主界面右侧有一个 添加账户 的选项 点击 添加账户 进入其设置界面 这里有三大选项 请选择 手动设置服务器设置或其他服务器类型 点击下一步 进入 选择服务
  • vue3+vite快速配置eslint的踩坑

    前言 本文强调快速配置eslint 所以不使用下载依赖包和配置的方式进行eslint配置 而是使用现有的eslint自动化构建的包进行快速配置 无论是新项目要集成eslint还是已经开发了一段时间的项目中途要加入eslint都可以按文章中的