微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么在导入不存在的变量/类型时d.ts文件不会引发错误?

如何解决为什么在导入不存在的变量/类型时d.ts文件不会引发错误?

我有一个d.ts文件,它导入了不存在的变量/接口:

import { inexistentvariable } from './myFile.ts'
import { InexistentInterface } from './myTypes.d.ts'

在两种情况下,我的IDE(VSCode和WebStorm)都不会对此发出警告。我实际上可以在没有警告的情况下使用它:

interface A {
    b: InexistentInterface
}

当我将鼠标悬停在b上时,我会得到b: any

这是我的tsconfig

{
  "target": "ES5","module": "commonjs","lib": [
    "esnext.asynciterable","ES5","ES6","dom"
    ],"compilerOptions": {
    "skipLibCheck": true,"types": ["reflect-Metadata","jest","jest-chain","node"],"outDir": "dist","strict": true,"strictPropertyInitialization": false,"esModuleInterop": true,"emitDecoratorMetadata": true,"experimentalDecorators": true,"forceConsistentCasingInFileNames": true,"moduleResolution": "node","downlevelIteration": true,"baseUrl": ".",},"include": [
        "./"
    ],"exclude": [
        "node_modules"
    ]
}

当导入的功能代码库中不存在时,是否有任何方法得到错误

解决方法

我相信这是Typescript的预期行为,以确保与JavaScript合作。 据报道在打字稿Github页面上Import path not checked when not importing any symbols #20534,并标记为“按预期工作”。

github上的示例与您发布的示例有所不同,但是行为的根本原因似乎是相同的。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。