我在webstorm中使用ES6样式模块,我有一个快速应用程序,它有一个自定义d.ts(对于改变对象的中间件),看起来像这样:
declare module Express {
export interface Application {
getLogger(): LoggerInstance;
getRepository(collectionName): IRepository;
getEnvironmentVars(): any;
}
}
现在IDE看到了这一点,每当我使用它时都没有错误,但是当我通过TSC运行时它会爆炸说'getRepository' does not exist on type 'Application'
我有很多其他d.ts文件工作正常,但没有列出错误,没有什么奇怪我可以在那里看到。
此示例用例可能是:
import { Express } from "express"
export function SomeMiddleWare(app: Express){...};
(express.d.ts中的Express扩展了包含其他文件中的扩充的Application。)
所以我很困惑为什么它在IDE中有效,但在TSC中没有,包括输入目录中的所有* .d.ts文件,d.ts文件中没有列出任何错误使用在此特定d.ts。
中定义的用法答案 0 :(得分:0)
TSC爆炸说'应用'
类型上不存在'getRepository'
确保使用类似.d.ts
tsconfig.json
包含在tsc的编译上下文中