V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
daguaochengtang
V2EX  ›  问与答

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

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

    ```
    {
    globals: {
    IdLike: true
    }
    }
    ```
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1005 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 21:24 · PVG 05:24 · LAX 13:24 · JFK 16:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.