Nuxt3 中使用 ESLint

ops/2024/9/22 18:24:24/

# 快速安装

使用该命令安装的同时会给依赖、内置模块同时更新

npx nuxi module add eslint

 

安装完毕后,nuxt.config.ts 文件 和 package.json 文件 会新增代码段:

javascript"># nuxt.config.ts
modules: ["@nuxt/eslint"
]
javascript"># package.json
"devDependencies": {"@nuxt/eslint": "^0.3.13",
}

 

启动您的 Nuxt 应用程序

# 启动你的nuxt3项目
npm run dev

 

一旦启动你的项目,将会在您的项目根目录下生成一个文件 -->  eslint.config.mjs , 可以根据需要对其进行自定义。

javascript"># eslint.config.mjs
// @ts-check
import withNuxt from './.nuxt/eslint.config.mjs'export default withNuxt(// Your custom configs here
)

该模块专为新的 ESLint 平面配置格式而设计,是自 ESLint v9 以来的默认格式。

 

# 实战演练

这里以 Visual Studio Code 工具为例

vscode 设置,配置项关联 eslint 插件

javascript"># .vscode/settings.json
{// Enable ESlint flat config support"eslint.experimental.useFlatConfig": true
}

这里可以看到 eslint 并没有激活,提示:未找到相关插件支持该选项配置。

 

给vscode安装 ESLint 扩展插件

 

安装完成之后,配置项被激活

初步体验一下 eslint 在 vscode 使用效果,eslint.config.mjs 内容修改如下:

javascript">// @ts-check
import withNuxt from './.nuxt/eslint.config.mjs'export default withNuxt(// your custom flat configs go here, for example:{files: ['**/*.vue', '**/*.ts', '**/*.tsx'],rules: {'no-console': ["error", { allow: ["warn", "error"] }]}}
)

这段 eslint 规则 'no-console': ["error", { allow: ["warn", "error"] }] 用于控制台输出的规范。

  1. 'no-console': 这是一个eslint规则的名称,它用于检查代码中是否存在对 console 对象的直接调用。
  2. ["error", { allow: ["warn", "error"] }]: 这部分定义了规则的行为。它告诉eslint如果发现代码中有直接使用 console 对象的调用,应该如何处理。具体解释如下:

                "error": 表示如果违反了这个规则,应该以错误 (error) 的形式进行报告,这意味着代码将无法通过eslint的验证。

                { allow: ["warn", "error"] }: 这指定了一组允许的 console 方法。在这种情况下,允许使用 console.warn() console.error() 方法,但是除了这两个之外的其他 console 方法将会触发eslint错误。

因此,这个eslint规则的目的是防止在代码中直接调用 console 对象的方法,以提高代码的可维护性和可读性,同时允许使用 console.warn()console.error() 方法进行调试和错误处理。

除了 allow 参数之外,no-console 规则还有其他一些可用的参数值,包括:

  • "always": 意味着 console 对象的任何调用都将被视为一个错误。
  • "never": 完全禁止使用 console 对象的调用。
  • object: 可以指定特定的 console 方法,例如 { allow: ["log", "info"] },这将只允许使用 console.log()console.info() 方法,而其他方法将被视为错误。

新建一个 index.vue,在<script> 写入内容,如下:

javascript">
<script lang="ts" setup>console.warn("警告打印输出");console.log("正常打印输出");console.error("错误打印输出");console.info("错误打印输出");</script>

 

# 实现效果 

开发模式效果截图:

如果你在项目构建之后使用 eslint 你可以翻阅之前的代码,检查一下是否有违规的语法,你可以以此做出优化。

# Attribute "v-for" should go before "class".

(译:属性“v-for”应该放在“class”之前。)

(参:vue/attributes-order | eslint-plugin-vue

# Require self-closing on HTML elements (<i>).

(译:要求HTML元素(<i>)自关闭。)

(参:vue/attributes-order | eslint-plugin-vue


 

# 扩展

在你的 package.json 文件加入以下代码:

javascript">{"scripts": {"lint": "eslint .","lint:fix": "eslint . --fix"}
}

运行 npm run lint 命令以检查代码样式是否正确。

运行 npm run lint:fix 命令自动修复代码样式问题。

# 检查器调试

在你的 nuxt.config.ts 开启检查器

javascript"># 开启检查器
devtools: { enabled: true },

 

在浏览器打开并启动 ESLint 并查看 

# 注意事项

默认情况下,ESLint 模块不启用样式格式化规则。你可以直接使用Prettier。

参阅往期:http://t.csdnimg.cn/osInl


http://www.ppmy.cn/ops/47371.html

相关文章

Selenium+Java 环境搭建

selenium 介绍 Selenium 是 web 应用中基于 UI 的自动化测试框架&#xff0c;支持多平台、多浏览器、多语言。 早期的 selenium RC 已经被现在的 webDriver 所替代&#xff0c;可以简单的理解为selenium1.0webdriver 构成 现在的 Selenium2.0 。现在我们说起 selenium &#xf…

NLP(1)-TF-IDF算法介绍

一、TF-IDF算法介绍 TF-IDF&#xff08;term frequency–inverse document frequency&#xff0c;词频-逆向文件频率&#xff09;是一种用于信息检索&#xff08;information retrieval&#xff09;与文本挖掘&#xff08;text mining&#xff09;的常用加权技术。 TF-IDF是一…

21、matlab生成脉冲序列:pulstran()函数

1、pulstran()函数 1&#xff09;语法 语法1&#xff1a;y pulstran(t,d,func,fs) 基于连续函数的采样产生脉冲序列。 语法2&#xff1a;y pulstran(t,d,p) 生成一个脉冲序列&#xff0c;该脉冲序列是向量p中原型脉冲的多个延迟插值的总和。 语法3&#xff1a;y pulstran…

巨详细Linux安装Redis教程

巨详细Linux安装Redis 1、检查系统是否残留redis数据2、上传压缩包到服务器2.1压缩包获取2.2创建相关目录 3、安装Redis3.1解压Redis压缩包3.2安装Redis 4、配置Redis4.1设置Redis随系统启动4.2测试功能4.3设置密码和设置准许远程访问 1、检查系统是否残留redis数据 redis等数…

MySQL -- 索引

当表中的数据量到达几十万甚至上百万的时候&#xff0c;SQL查询所花费的时间会很长&#xff0c;导致业务超时出错&#xff0c;此 时就需要用索引来加速SQL查询。 由于索引也是需要存储成索引文件的&#xff0c;因此对索引的使用也会涉及磁盘I/O操作。如果索引创建过多&#xff…

学习串口屏需要了解哪些方面的知识

学习串口屏需要掌握的知识主要包括以下几个方面&#xff1a; 串口通信原理&#xff1a;串口屏是基于串口通信的显示控制模组&#xff0c;因此了解串口通信的基本原理和通信协议是必要的。你需要了解串口通信的基本概念、数据格式、波特率、校验位等参数&#xff0c;以及串口通…

使用Rufus工具制作Ubuntu To Go——很详细

一、准备工作 准备工具&#xff1a; 1、下载Rufus(主角)软件 2、准备一个U盘或硬盘&#xff08;小白128G足够&#xff0c;装Ubuntu系统&#xff09; 3、下载Ubuntu系统镜像文件 1、下载软件Rufus 先来看一下官网介绍&#xff1a; Rufus 是一款格式化和创建 USB 启动盘的辅助工…

外贸实战|做外贸要主动,才会跟客户有订单!

很多人对我说过这种情况&#xff1a;客户给我发了一份询盘&#xff0c;但是我回复以后&#xff0c;客户就不理我了&#xff0c;好伤心。 我问&#xff1a;你跟了多久了&#xff1f; 很多人都会回答&#xff1a;几天或者不记得&#xff0c;他不理我&#xff0c;我也不知道怎么…