如何让ide识别node_modules目录下的*.d.ts文件?

我在一个electron/vue项目中引用了echarts 它包含了types子目录和完整的定义 可VSCode无法自动识别其定义

type EChartsOption = /unresolved/ any
找不到名称“EChartsOption”。ts(2304)

tsconfig.json内容如下:

{
  "compilerOptions": {
    "target": "esnext",
    "useDefineForClassFields": true,
    "module": "esnext",
    "moduleResolution": "node",
    "strict": true,
    "jsx": "preserve",
    "sourceMap": true,
    "resolveJsonModule": true,
    "esModuleInterop": true,
    "lib": ["esnext", "dom"]
  },
  "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"]
}
阅读 2.5k
1 个回答

定义也跟模块一样需要导入:

import type { EChartsOption } from 'echarts'; // 我不知道是不是这个模块里导出来的,仅做写法举例

有关 import type 的更多介绍请自行查阅文档了解。


如果用的地方比较多,不想每个地方都导入一次,想当作自己 declare 出来的全局定义使用,那么需要在 tsconfig.json 中加入:

{
    // 其他项略
    "compilerOptions": {
        // 其他项略
        "types": ["echarts"]
    }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Microsoft
子站问答
访问
宣传栏