daguaochengtang
V2EX  ›  问与答

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

  •  
  •   daguaochengtang · Jun 28, 2021 · 3288 views
    This topic created in 1954 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
    phony2r
    Jun 28, 2021
    2
    eslint config 文件 globals 字段添加全局定义
    daguaochengtang
    daguaochengtang
    OP
    Jun 28, 2021
    3
    @avastms 我在问这个问题之前,自然是看了这个 rule 的文档的,如果在.eslintrc.js 里设置 globals 字段,那要设的太多了,感觉很傻
    daguaochengtang
    daguaochengtang
    OP
    Jun 28, 2021
    4
    @phony2r 额,还真就只能这么干嘛,如果定义了很多全局变量,不是都要设置一遍?
    chenluo0429
    chenluo0429
    Jun 28, 2021
    5
    蹲一个解决方案。
    看不到图,但是这个问题也困扰着我。定义在 d.ts 中的类型,在 vue 文件中使用时,eslint 会提示报 no-undef,但是实际上编译和执行 eslint src 检查又不会 error 。同时在 ts 文件中使用又不会报错。
    ruanyu1
    ruanyu1
    Jun 28, 2021 via iPhone
    6
    没有 typescript-eslint ?
    daguaochengtang
    daguaochengtang
    OP
    Jun 28, 2021
    7
    @chenluo0429 看下 2 楼的回复,我在看文档的时候就看到了这一点,在.eslintrc.js 的 globals 字段里设置声明的全局 type,但是因为我定义了很多全局类型,所以觉得这样设置很不优雅。

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