Vue3 -- 项目配置之eslint【企业级项目配置保姆级教程1】

下面是项目级完整配置1➡eslint:【吐血分享,博主踩过的坑你跳过去!!跳不过去?太过分了给博主打钱】

浏览器自动打开项目:

你想释放双手吗?你想每天早上打开电脑运行完项目自动在浏览器打开吗?不要9998,不要998,只要你在我们爱的 package.json 中配置一下即可显示。如下图所示:
在这里插入图片描述
是的没错,只需添加 "dev": "vite --open", 包你美梦成真。

配置eslint:

是谁以前在vue.config.js里面偷偷的添加lintOnSave: false 关闭eslint检查逃过n节 ,是你吗我的先生女士们。。是我!(扭曲)(爬行)(尖叫)因为eslint太烦了!!
但是eslint可以帮助我们检查js语法及少部分格式问题。 自从和我的同事(他有代码洁癖)一起工作之后,我发现我被迫改了很多…非常感谢你,和我一起实习的同事,因为有你,代码更规范~~~
eslint官网直达路线

安装eslint:

安装最新版本的eslint:

pnpm i eslint -D

告诉eslint,你要怎么工作:

npx eslint --init

在这里插入图片描述
我们用eslint 检查语法、发现错误,如下图选择:
在这里插入图片描述
我们的项目采用的js模块 的模块式开发,如下图:
在这里插入图片描述
框架选取vue,如下图:
在这里插入图片描述
是否使用ts?是的。如下图:
在这里插入图片描述
项目运行在浏览器还是node上,我们选择浏览器。如下图:
在这里插入图片描述
使用eslint去校验我们的vue、ts语法,需要安装它提示的三个插件,是否选择安装呢?是的。如下图:
在这里插入图片描述
使用什么包管理工具下载呢?我这里使用的是pnpm,根据自己选择哈。如下图:
在这里插入图片描述
安装成功如下图(安装成功会自动生成eslint.config.js):
在这里插入图片描述

安装其他版本的eslint:

but 我这次需要安装v8.x的 避免我的一些版本冲突问题哈,根据自己的需求选择。

pnpm install eslint@8.57.1 --save-dev

在这里插入图片描述

安装插件指令供配置:

pnpm install -D eslint-plugin-import eslint-plugin-vue eslint-plugin-node eslint-plugin-prettier eslint-config-prettier eslint-plugin-node @babel/eslint-parser

在根目录下创建 .eslintrc.cjs 文件,并配置它:

// @see: http://eslint.cnmodule.exports = {root: true,env: {browser: true,node: true,es6: true},// 指定如何解析语法parser: "vue-eslint-parser",// 优先级低于 parse 的语法解析配置parserOptions: {parser: "@typescript-eslint/parser",ecmaVersion: 2020,sourceType: "module",jsxPragma: "React",ecmaFeatures: {jsx: true}},// 继承某些已有的规则extends: ["plugin:vue/vue3-recommended", "plugin:@typescript-eslint/recommended", "plugin:prettier/recommended"],/*** "off" 或 0    ==>  关闭规则* "warn" 或 1   ==>  打开的规则作为警告(不影响代码执行)* "error" 或 2  ==>  规则作为一个错误(代码不能执行,界面报错)*/rules: {// eslint (http://eslint.cn/docs/rules)"no-var": "error", // 要求使用 let 或 const 而不是 var"no-multiple-empty-lines": ["error", { max: 1 }], // 不允许多个空行"prefer-const": "off", // 使用 let 关键字声明但在初始分配后从未重新分配的变量,要求使用 const"no-use-before-define": "off", // 禁止在 函数/类/变量 定义之前使用它们// typeScript (https://typescript-eslint.io/rules)"@typescript-eslint/no-unused-vars": "error", // 禁止定义未使用的变量"@typescript-eslint/no-empty-function": "error", // 禁止空函数"@typescript-eslint/prefer-ts-expect-error": "error", // 禁止使用 @ts-ignore"@typescript-eslint/ban-ts-comment": "error", // 禁止 @ts-<directive> 使用注释或要求在指令后进行描述"@typescript-eslint/no-inferrable-types": "off", // 可以轻松推断的显式类型可能会增加不必要的冗长"@typescript-eslint/no-namespace": "off", // 禁止使用自定义 TypeScript 模块和命名空间"@typescript-eslint/no-explicit-any": "off", // 禁止使用 any 类型"@typescript-eslint/ban-types": "off", // 禁止使用特定类型"@typescript-eslint/no-var-requires": "off", // 允许使用 require() 函数导入模块"@typescript-eslint/no-non-null-assertion": "off", // 不允许使用后缀运算符的非空断言(!)"@typescript-eslint/no-require-imports": "off",// vue (https://eslint.vuejs.org/rules)"vue/script-setup-uses-vars": "error", // 防止<script setup>使用的变量<template>被标记为未使用,此规则仅在启用该 no-unused-vars 规则时有效"vue/v-slot-style": "error", // 强制执行 v-slot 指令样式"vue/no-mutating-props": "error", // 不允许改变组件 prop"vue/custom-event-name-casing": "error", // 为自定义事件名称强制使用特定大小写"vue/html-closing-bracket-newline": "error", // 在标签的右括号之前要求或禁止换行"vue/attribute-hyphenation": "error", // 对模板中的自定义组件强制执行属性命名样式:my-prop="prop""vue/attributes-order": "off", // vue api使用顺序,强制执行属性顺序"vue/no-v-html": "off", // 禁止使用 v-html"vue/require-default-prop": "off", // 此规则要求为每个 prop 为必填时,必须提供默认值"vue/multi-word-component-names": "off", // 要求组件名称始终为 “-” 链接的单词"vue/no-setup-props-destructure": "off" // 禁止解构 props 传递给 setup}
};

根目录创建.eslintignore文件:

*.sh
node_modules
*.md
*.woff
*.ttf
.vscode
.idea
dist
/public
/docs
.husky
.local
/bin
/src/mock/*
stats.html

在package.json文件中添加如下代码:

"lint": "eslint src",
"fix": "eslint src --fix",

在这里插入图片描述

测试一下eslint的效果:

在这里插入图片描述
fine!
在这里插入图片描述
自动修补了,有点意思啊eslint你小子
so,在运行前甚至都可以先 pnpm run lint --fix 了 (★ ω ★)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/473578.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【流量分析】常见webshell流量分析

免责声明&#xff1a;本文仅作分享&#xff01; 对于常见的webshell工具&#xff0c;就要知攻善防&#xff1b;后门脚本的执行导致webshell的连接&#xff0c;对于默认的脚本要了解&#xff0c;才能更清晰&#xff0c;更方便应对。 &#xff08;这里仅针对部分后门代码进行流量…

【MQTT.fx 客户端接入 阿里云平台信息配置】

1、打开界面&#xff0c;点击如下图⚙图标 2、点击左下角➕&#xff0c;添加新的配置&#xff0c;Profile Name 同阿里云平台设备名。 3、打开已经配置好的阿里云平台&#xff0c;进入设备信息界面&#xff0c;点击“MQTT连接参数”&#xff0c; 4、其他参数&#xff0c;对…

抽象java入门1.5.3.1——类的进阶

前言&#xff1a;在研究神技代码Hello word的时候&#xff0c;发现了一个重大公式bug&#xff0c;在代码溯源中&#xff0c;我发现了一个奇怪的东西&#xff0c;就是OUT不是类中类&#xff08;不是常规类的写法&#xff09; 内容总结&#xff1a; 代码运行的顺序复习 正片开始…

vue2+3 —— Day5/6

自定义指令 自定义指令 需求&#xff1a;当页面加载时&#xff0c;让元素获取焦点&#xff08;一进页面&#xff0c;输入框就获取焦点&#xff09; 常规操作&#xff1a;操作dom “dom元素.focus()” 获取dom元素还要用ref 和 $refs <input ref"inp" type&quo…

JAVA-链表

1.链表的概念及结构 链表是一种物理存储结构上非连续存储结构(逻辑上连续)&#xff0c;数据元素的逻辑顺序是通过链表中的引用链接次序实现的 。 注意&#xff1a; 根据上图可看出&#xff0c;链表是在逻辑结构连续的&#xff0c;但是在物理结构上不一定现实中的结点一般都是通…

RTSP播放器EasyPlayer.js播放器UniApp或者内嵌其他App里面webview需要截图下载

EasyPlayer.js H5播放器&#xff0c;是一款能够同时支持HTTP、HTTP-FLV、HLS&#xff08;m3u8&#xff09;、WS、WEBRTC、FMP4视频直播与视频点播等多种协议&#xff0c;支持H.264、H.265、AAC、G711A、Mp3等多种音视频编码格式&#xff0c;支持MSE、WASM、WebCodec等多种解码方…

DB Type

P位 p 1时段描述符有效&#xff0c;p 0时段描述符无效 Base Base被分成了三个部分&#xff0c;按照实际拼接即可 G位 如果G 0 说明描述符中Limit的单位是字节&#xff0c;如果是G 1 &#xff0c;那么limit的描述的单位是页也就是4kb S位 S 1 表示代码段或者数据段描…

【Fargo】23:采集时间转rtp时间

RTP时间戳 编码会沿用当前时间,以毫秒计算,而rtp传输系统采用的是时间基准并不是当前时间RTP 时间戳为了多媒体不同流之间实现同步而设计的。Mediasoup的clockrate参数就是指定这个的 采集实现戳是当前时间uint32类型的毫秒,如果使用rtp发送h264编码的rtp包,时间戳要怎么打…

Android Osmdroid + 天地图 (一)

Osmdroid 天地图 前言正文一、配置build.gradle二、配置AndroidManifest.xml三、获取天地图的API Key① 获取开发版SHA1② 获取发布版SHA1 四、请求权限五、显示地图六、源码 前言 Osmdroid是一款完全开源的地图基本操作SDK&#xff0c;我们可以通过这个SDK去加一些地图API&am…

HTML5+CSS前端开发【保姆级教学】+新闻文章初体验

Hello&#xff0c;各位编程猿们&#xff01;上一篇文章介绍了前端以及软件的安装&#xff0c;这一篇我们要继续讲解页面更多知识点&#xff0c;教大家做一篇新闻题材的文章 新闻文章 当我们点开浏览器经常看到各种各样的文章&#xff0c;今天我们就来看看大家最喜欢关注的体育…

无人机动力系统测试-实测数据与CFD模拟仿真数据关联对比分析

我们经常被问到这样的问题&#xff1a;“我们计划运行 CFD 仿真&#xff0c;我们还需要对电机和螺旋桨进行实验测试吗&#xff1f;我们可能有偏见&#xff0c;但我们的答案始终是肯定的&#xff0c;而且有充分的理由。我们自己执行了大量的 CFD 仿真&#xff0c;但我们承认&…

【HarmonyOS】鸿蒙系统在租房项目中的项目实战(二)

从今天开始&#xff0c;博主将开设一门新的专栏用来讲解市面上比较热门的技术 “鸿蒙开发”&#xff0c;对于刚接触这项技术的小伙伴在学习鸿蒙开发之前&#xff0c;有必要先了解一下鸿蒙&#xff0c;从你的角度来讲&#xff0c;你认为什么是鸿蒙呢&#xff1f;它出现的意义又是…

深度学习神经网络创新点方向

一、引言 深度学习神经网络在过去几十年里取得了令人瞩目的成就&#xff0c;从图像识别、语音处理到自然语言理解等众多领域都有广泛应用。然而&#xff0c;随着数据量的不断增长和应用场景的日益复杂&#xff0c;对神经网络的创新需求也愈发迫切。本文将探讨深度学习神经网络…

C++析构函数详解

C析构函数详解&#xff1a;对象销毁与资源清理 在 C 中&#xff0c;析构函数是与构造函数相对应的特殊成员函数&#xff0c;它在对象生命周期结束时被自动调用&#xff0c;用于执行对象销毁之前的清理操作。析构函数主要用于释放对象占用的资源&#xff0c;如动态分配的内存、打…

Minikube 上安装 Argo Workflow

文章目录 步骤 1&#xff1a;启动 Minikube 集群步骤 2&#xff1a;安装Argo Workflow步骤 3&#xff1a;访问UI创建流水线任务参考 前提条件&#xff1a; Minikube&#xff1a;确保你已经安装并启动了 Minikube。 kubectl&#xff1a;确保你已经安装并配置了 kubectl&#xff…

计算机编程中的设计模式及其在简化复杂系统设计中的应用

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 计算机编程中的设计模式及其在简化复杂系统设计中的应用 计算机编程中的设计模式及其在简化复杂系统设计中的应用 计算机编程中的…

基于 CentOS7.6 的 Docker 下载常用的容器(MySQLRedisMongoDB),解决拉取容器镜像失败问题

安装MySQL&Redis&MongoDB mysql选择是8版本&#xff0c;redis是选择4版本、mongoDB选择最新版&#xff0c;也可以根据自己的需要进行下载对应的版本&#xff0c;无非就是容器名:版本号 这样去拉去相关的容器镜像。如果你还不会在服务器中安装 docker&#xff0c;可以查…

【分布式】万字图文解析——深入七大分布式事务解决方案

分布式事务 分布式事务是指跨多个独立服务或系统的事务管理&#xff0c;以确保这些服务中的数据变更要么全部成功&#xff0c;要么全部回滚&#xff0c;从而保证数据的一致性。在微服务架构和分布式系统中&#xff0c;由于业务逻辑往往会跨多个服务&#xff0c;传统的单体事务…

SystemVerilog学习笔记(十一):接口

在Verilog中&#xff0c;模块之间的通信是使用模块端口指定的。 Verilog模块连接的缺点 声明必须在多个模块中重复。存在声明不匹配的风险。设计规格的更改可能需要修改多个模块。 接口 SystemVerilog引入了 interface 结构&#xff0c;它封装了模块之间的通信。一个 inter…

ARM 汇编指令

blr指令的基本概念和用途 在 ARM64 汇编中&#xff0c;blr是 “Branch with Link to Register” 的缩写。它是一种分支指令&#xff0c;主要用于跳转到一个由寄存器指定的地址&#xff0c;并将返回地址保存到链接寄存器&#xff08;Link Register&#xff0c;LR&#xff09;中。…