cbd*_*per 7 typescript tsconfig typescript-typings
在 Typescript Playground 的这个示例中,我尝试在命名空间内使用不存在的类型,但收到错误:
这是预料之中的。
但在我的本地开发环境中,Typescript 基本上接受任何不存在的类型作为any.
注意:这仅发生在d.ts文件内部。
不知道这是否重要,但我正在使用该noImplicitAny: true标志。
查看我的tsconfig.json文件:
{
  "compilerOptions": {
    "allowJs": true,
    "baseUrl": ".",
    "esModuleInterop": true,
    "jsx": "react",
    "module": "CommonJS",
    "moduleResolution": "Node",
    "noEmit": true,
    "noImplicitAny": true,
    "noImplicitReturns": true,
    "resolveJsonModule": true,
    "skipLibCheck": true,
    "sourceMap": true,
    "strictNullChecks": true,
    "target": "ES6",
    "paths": {
      "@src/*": ["./src/*"],
    }
  },
  "include": [
    "src/**/*",
    "functions/src/**/*",
    "functions/index.ts"
  ],
}
我怎样才能让 Typescript 检测到这些错误?
Alu*_*dad 12
声明文件,带有.d.ts扩展名的文件,由编译器选项覆盖--skipLibCheck。
通过指定
{
  "compilerOptions": {
    "skipLibCheck": true
  }
}
在您的 中tsconfig.json,您已告诉 TypeScript 不要验证此文件。
一般来说,您有两种选择来强制验证该文件。
将文件从.d.ts重命名为.ts. 这是最直接的方法,也是侵入性最小的方法。.ts仅包含声明的文件是完全有效的。
删除"skipLibCheck": true上面的配置,从而在.d.ts文件中强制执行类型检查,这是默认行为。
| 归档时间: | 
 | 
| 查看次数: | 1099 次 | 
| 最近记录: |