V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
daguaochengtang
V2EX  ›  问与答

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

  •  
  •   daguaochengtang · Jun 28, 2021 · 2904 views
    This topic created in 1773 days ago, the information mentioned may be changed or developed.
    我使用 index.d.ts 声明了一个全局 ts 类型,当我使用这个全局类型的时候我可以获得这个类型的智能提示,但是无法通过 eslint 的 no-undef 规则校验,提示这个全局类型未定义。请问如何让 eslint 能够识别全局的 ts 类型呢?
    ![]( https://segmentfault.com/img/bVcS3lo)
    ![]( https://segmentfault.com/img/bVcS3ls)
    7 replies    2021-06-28 14:27:30 +08:00
    phony2r
        2
    phony2r  
       Jun 28, 2021
    eslint config 文件 globals 字段添加全局定义
    daguaochengtang
        3
    daguaochengtang  
    OP
       Jun 28, 2021
    @avastms 我在问这个问题之前,自然是看了这个 rule 的文档的,如果在.eslintrc.js 里设置 globals 字段,那要设的太多了,感觉很傻
    daguaochengtang
        4
    daguaochengtang  
    OP
       Jun 28, 2021
    @phony2r 额,还真就只能这么干嘛,如果定义了很多全局变量,不是都要设置一遍?
    chenluo0429
        5
    chenluo0429  
       Jun 28, 2021
    蹲一个解决方案。
    看不到图,但是这个问题也困扰着我。定义在 d.ts 中的类型,在 vue 文件中使用时,eslint 会提示报 no-undef,但是实际上编译和执行 eslint src 检查又不会 error 。同时在 ts 文件中使用又不会报错。
    ruanyu1
        6
    ruanyu1  
       Jun 28, 2021 via iPhone
    没有 typescript-eslint ?
    daguaochengtang
        7
    daguaochengtang  
    OP
       Jun 28, 2021
    @chenluo0429 看下 2 楼的回复,我在看文档的时候就看到了这一点,在.eslintrc.js 的 globals 字段里设置声明的全局 type,但是因为我定义了很多全局类型,所以觉得这样设置很不优雅。

    ```
    {
    globals: {
    IdLike: true
    }
    }
    ```
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1186 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 42ms · UTC 23:14 · PVG 07:14 · LAX 16:14 · JFK 19:14
    ♥ Do have faith in what you're doing.