如何解决为什么在导入不存在的变量/类型时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 举报,一经查实,本站将立刻删除。