eslint 如何识别全局的 ts 类型?

2021-06-28 13:54:00 +08:00
 daguaochengtang
我使用 index.d.ts 声明了一个全局 ts 类型,当我使用这个全局类型的时候我可以获得这个类型的智能提示,但是无法通过 eslint 的 no-undef 规则校验,提示这个全局类型未定义。请问如何让 eslint 能够识别全局的 ts 类型呢?
![]( https://segmentfault.com/img/bVcS3lo)
![]( https://segmentfault.com/img/bVcS3ls)
2279 次点击
所在节点    问与答
7 条回复
EPr2hh6LADQWqRVH
2021-06-28 14:04:58 +08:00
phony2r
2021-06-28 14:09:57 +08:00
eslint config 文件 globals 字段添加全局定义
daguaochengtang
2021-06-28 14:16:13 +08:00
@avastms 我在问这个问题之前,自然是看了这个 rule 的文档的,如果在.eslintrc.js 里设置 globals 字段,那要设的太多了,感觉很傻
daguaochengtang
2021-06-28 14:17:08 +08:00
@phony2r 额,还真就只能这么干嘛,如果定义了很多全局变量,不是都要设置一遍?
chenluo0429
2021-06-28 14:17:27 +08:00
蹲一个解决方案。
看不到图,但是这个问题也困扰着我。定义在 d.ts 中的类型,在 vue 文件中使用时,eslint 会提示报 no-undef,但是实际上编译和执行 eslint src 检查又不会 error 。同时在 ts 文件中使用又不会报错。
ruanyu1
2021-06-28 14:20:19 +08:00
没有 typescript-eslint ?
daguaochengtang
2021-06-28 14:27:30 +08:00
@chenluo0429 看下 2 楼的回复,我在看文档的时候就看到了这一点,在.eslintrc.js 的 globals 字段里设置声明的全局 type,但是因为我定义了很多全局类型,所以觉得这样设置很不优雅。

```
{
globals: {
IdLike: true
}
}
```

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/786231

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX