按需引入 ElMessage,没有样式且类型检查失败

在这里插入图片描述

文章目录

    • ElMessage 弹框没有样式
      • 问题描述
      • 解决方案
    • ts 类型检查失败
      • 问题描述
      • 解决办法
    • eslint 检查失败
      • 问题描述
      • 解决办法

ElMessage 弹框没有样式

问题描述

Element-plus 在使用 ElMessage 消息弹框的时候没有样式,按照官方的按需加载的方式引入的

import { ElMessage } from "element-plus";ElMessage.success('修改成功!')

解决方案

只要是按需导入了,就不要去手动导入。要不然样式无法生效。

  • 当然如果手动导入了模块,再去全局导入所有 element-plus 样式,这也能生效。但这已经不是按需导入了
// 去掉引用
// import { ElMessage } from 'element-plus'ElMessage.success('修改成功!')

ts 类型检查失败

问题描述

如果不手动 import 导入,会发现 ElMessage 会类型检查失败。会报找不到名称ElMessage这样的一个错误 :
image.png
image.png

虽然开发环境可以忍着红线不去管它,可以正常使用,但打包构建会失败。因为构建时会有严格的类型检查 vue-tsc。因此这个问题必须解决。

image.png

解决办法

其实自动导入已经有了 ts 的类型声明,它就在 auto-imports.d.ts 文件里。但为什么编辑器检测不到类型呢。
因为 tsconfig.json 中 include 包含的类型文件范围中没有 auto-imports.d.ts文件。vite 的 vue 模板中,默认包含的类型文件范围是仅在 src 目录下:

  • "include": ["src/**/*.d.ts", ...]

因此将auto-imports.d.ts包含到 ts 类型的检测范围就可以了,。

"include": ["*.d.ts", "src/**/*.d.ts", ...],

eslint 检查失败

问题描述

现在 ts 已经不抱类型错误,但如果配置了 eslint,则 eslint 就会开始报错了。

可以看到 vscode 可以给出 ElNotification 的类型提示,说明 ts 已经识别,但 eslint 仍然检查失败。

image.png

解决办法

方法就要要告诉 eslint ,这些 API 是全局方法。

按需导入的插件 AutoImport,它支持自动声明导入的 ElMessage 等方法为全局变量。

AutoImport({// Generate corresponding .eslintrc-auto-import.json file.// eslint globals Docs - https://eslint.org/docs/user-guide/configuring/language-options#specifying-globalseslintrc: {enabled: false, // Default `false`filepath: "./.eslintrc-auto-import.json", // Default `./.eslintrc-auto-import.json`globalsPropValue: true // Default `true`, (true | false | 'readonly' | 'readable' | 'writable' | 'writeable')}
}),

开启自动导出:

AutoImport({resolvers: [ElementPlusResolver({ importStyle: "sass" })],eslintrc: {enabled: true // 开启生成 eslint 的全局变量文件}
}),

配置开启后,默认就会在 vite 文件同级目录中自动生成对应的.eslintrc-auto-import.json配置文件

{"globals": {"ElMessage": true,"ElNotification": true}
}

然后在 eslint 配置文件中继承该全局变量的配置即可:

extends: ["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:vue/vue3-essential","plugin:prettier/recommended","./.eslintrc-auto-import.json"
],

如果嫌弃生成的配置文件太多,也可以在 eslint 配置文件中手动声明 eslint 下的全局变量,这样也不用该 vite 配置文件:

extends: ["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:vue/vue3-essential","plugin:prettier/recommended",// "./.eslintrc-auto-import.json"
],
globals: {// 全局变量ElMessage: "readonly",ElNotification: "readonly"
},

  • https://juejin.cn/post/7069382410143531038
  • https://juejin.cn/post/7247428110163984421

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

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

相关文章

AIGC ChatGPT4总结Linux Shell命令集合

在Linux中,Shell命令的数量非常庞大,因为Linux提供了各种各样的命令来处理系统任务。这些命令包括GNU核心工具集、系统命令、shell内置命令以及通过安装获得的第三方应用程序命令。以下是一些常见的Linux命令分类及其示例,但请注意,这不是一个全面的列表,因为列出所有命令…

Dempster-Shafer(D-S)证据理论的基本定义和详细分析,优点,缺点,应用!!(系列1)

文章目录 前言一、D-S证据理论的应用:二、D-S证据理论的优点:三、D-S证据理论的缺陷:四、D-S组合规则:总结 前言 Dempster-Shafer(D-S)证据理论是一种不精确推理理论,也称为Dempster/Shafer证据…

【开源】基于Vue+SpringBoot的农家乐订餐系统

项目编号: S 043 ,文末获取源码。 \color{red}{项目编号:S043,文末获取源码。} 项目编号:S043,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 用户2.2 管理员 三、系统展示四、核…

Docker ps命令

docker ps:列出容器。 语法: docker ps [OPTIONS]OPTIONS说明: -a:显示所有的容器,包括未运行的。 -f:根据条件过滤显示的内容。 --format:指定返回值的模板文件。 -l:显示最近…

spark数据倾斜的解决思路

数据倾斜是:多个分区中,某个分区的数据比其他分区的数据多的多 数据倾斜导致的问题: 导致某个spark任务耗时较长,导致整个任务耗时增加,甚至出现OOM运行速度慢:主要发生在shuffle阶段,同样的k…

大数据数据仓库,Sqoop--学习笔记

数据仓库介绍 1. 数据仓库概念 数据仓库概念创始人在《建立数据仓库》一书中对数据仓库的定义是:数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、数据集成的(Integrated)、相对…

一、深入简出串口(USRT)通信——基本概念。

一、前言 串口到底是什么?简单来说一句话就可以解释,串口就是一种通信协议。 看到这里可能大家会觉得你这不是放屁么,说了跟没说一样。所以这里做前言来描述,大家要先对通信协议有一个下意识地认识才能在学习串口的时候不至于迷茫…

C#中的泛型

目录 一、泛型的类型参数T 二、创建泛型接口 1.接口及约束定义 2.示例 三、创建泛型方法 泛型是C# 和公共语言运行库(CLR)中的一个功能,这是一种可以使程序支持不同类型的技术。它将类型参数的概念引入.NET Framework中,类型…

Mybatis-plus常见标签

1.< 代表小于号&#xff08;<&#xff09;2.> 代表大于号&#xff08;>&#xff09;3.&le; 代表小于或等于符号&#xff08;≤&#xff09;4.&ge; 代表大于或等于符号&#xff08;≥&#xff09;5.< 代表<6.> 代表>7.ne; 代表不等于 <>8…

【图像加密】Arnold置乱和混沌加密-MATLAB代码

Arnold Arnold.m function [img_new] Arnold(a,b,h,w,n,img) % h64; % w64;img_new zeros(h,w) ; %[h, w]size(img) % a 5; % b 6; % n 16; %n为置乱轮数N h;for i1:nfor y1:hfor x1:wxxmod((x-1)b*(y-1),N)1; %a,b可提前指定yymod(a*(x-1)(a*…

LeetCode [简单] 160. 相交链表

给你两个单链表的头节点 headA 和 headB &#xff0c;请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点&#xff0c;返回 null 。 题目数据 保证 整个链式结构中不存在环。 注意&#xff0c;函数返回结果后&#xff0c;链表必须 保持其原始结构 。 160.…

【Flutter 常见问题系列 第 1 篇】Text组件 文字的对齐、数字和字母对齐中文

TextStyle中设置height参数即可 对齐的效果 Text的高度 是根据 height 乘于 fontSize 进行计算的、这里指定heiht即可、不指定的会出现 无法对齐的情况&#xff0c;如下&#xff1a; 这种就是无法对齐的情况

Qt4用子类化ProxyModel和子类化MainWindow实现全表筛选,中文排序和复制粘贴

目录 1 需求 2 子类化ProxyModel实现全表筛选 3 字符串列表实现中文排序 3.1 Qt5中文排序 3.2 Qt4排序 4 表格的复制粘贴 5 应用 1 需求 模型视图编程是Qt开发的基本功&#xff0c;其中有几个关键问题需要解决&#xff1a; 全表筛选&#xff0c;或者说多列搜索中文排序…

Linux服务器SSH客户端断开后保持程序继续运行的方法

目录 1. nohup 命令&#xff1a; 2. tmux 或 screen&#xff1a; 3 final shell 断开后服务器如何继续执行令&#xff1f; 方法一&#xff1a;使用 nohup 命令 方法二&#xff1a;将命令放在后台执行 4 你可以使用 jobs 命令查看当前终端中正在后台运行的任务 &#xff…

决策树(第四周)

一、决策树基本原理 如下图所示&#xff0c;是一个用来辨别是否是猫的二分类器。输入值有三个&#xff08;x1&#xff0c;x2&#xff0c;x3&#xff09;&#xff08;耳朵形状&#xff0c;脸形状&#xff0c;胡须&#xff09;&#xff0c;其中x1{尖的&#xff0c;圆的}&#xf…

叠加原理(superposition principle)、线性系统

叠加原理&#xff08;superposition principle&#xff09;&#xff1a;指对一个系统而言&#xff0c;两个或多个输入产生的输出&#xff0c;等于这几个输入单独引起的输出的和&#xff0c;即输入的叠加等于各输入单独引起的输出的叠加。 线性系统&#xff1a;一个系统&#x…

Centos 7 更改 PostgreSQL 14 默认存储路径

前言&#xff1a; 默认PostgreSQL数据存储路径为&#xff1a;/var/lib/pgsql/14/data 迁移到新的存储路径&#xff1a;/mnt/postgresql/data 1、关闭PostgreSQL服务 systemctl stop postgresql-142、创建目录 # 创建新目录 mkdir -p /mnt/postgresql/data# 更改目录权限 chow…

vscode中pylance无法显示outline无法跳转

当打开的workspce中有较多的文件时&#xff0c;pylance需要分析的文件太多&#xff0c;导致卡住&#xff0c;无法分析到对应的python文件 常见的情况是&#xff0c;当我们在workspace中包含了data文件夹&#xff08;通常是通过软连接方式把数据集链接过来&#xff09;&#xf…

手机无法投屏到电脑(跨屏互联)无法使用

可能是因为windows防火墙的原因&#xff0c;将防火墙关闭即可

常用的Linux的指令

目录 常用指令 1、文件和目录操作&#xff1a; 2、文件查看和编辑 3、系统信息 4、进程管理 5、用户和权限 6、网络操作 7、压缩和解压 8、软件包管理 常用指令 1、文件和目录操作&#xff1a; ls&#xff1a;列出目录内容 cd&#xff1a; 切换目录 pwd&#xff1a;显…