ElMessage自动引入,样式缺失和ts esline 报错问题解决

一. 环境

"unplugin-auto-import": "^0.17.6",
"vue": "^3.3.8",
"vite": "^5.0.0", 
"typescript": "^5.2.2",

 
 
  • 1
  • 2
  • 3
  • 4

二. ElMessage样式缺失问题.

以下有两种解决方法

  1. 方法一: 配置了自动引用后,在使用ElMessage的时候去掉
import { ElMessage } from 'element-plus';

 
 
  • 1

这个会产生esline报错,和ts报错, 后面有解决方法

  1. 方法二: 引入ElMessage的样式
import { ElMessage } from 'element-plus';
import 'element-plus/theme-chalk/src/index.scss'

 
 
  • 1
  • 2

在配置了自动引用, 这样去使用显然不是优雅的, 而且每次时候都需要进行引入
当然可以在main.ts中进行全局引用, 当然这还是不优雅的 (所以看下面 ↓)

三. 解决去掉import { ElMessage } 引起的esline,ts 报错问题

tsconfig.json中在include内添加**/*.d.ts

	...
 "exclude": ["node_modules"],
 "include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.vue", "**/*.d.ts"],
	...

 
 
  • 1
  • 2
  • 3
  • 4

node_modules中找到unplugin-auto-import阅读他的readme.md文件
在这里插入图片描述
看到了英文, 嘿嘿打开翻译
在这里插入图片描述
按照他说的进行配置vite.config.ts

// ...
AutoImport({
	resolvers: [ElementPlusResolver()],
	eslintrc: {
	enabled: true, // <-- this
	},
})
//	...

 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

这会生成一个.eslintrc-auto-import.json文件, 这时我们需要更新我们的.eslintrc.cjs文件
.eslintrc.cjs

	"extends": [
			...
		'./.eslintrc-auto-import.json', //加上这一行
	]

 
 
  • 1
  • 2
  • 3
  • 4

这里就完成了
如果按照这个过程没有配置成功, 可以找项目引入unplugin-auto-import的Readme文件, 按照提供的方法去搞

参考文章: <自动引入ElMessage,解决ts声明及ESLint报错问题>

感谢原文作者

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值