我以相同的方式扩展了express和mongoose,但是ts-node似乎忽略了我的mongoose类型声明文件。 我阅读了ts-node文档,但无法弄清楚猫鼬为什么不起作用 我正在使用--file前缀运行我的代码,所以这不是问题。 我的文件结构
.
├── tsconfig.json
├── types
_express
└── types.d.ts
| _mongoose
└── types.d.ts
我的申报文件
//Express
declare namespace Express {
interface Request {
userId: string;
}
}
//Mongoose
namespace Mongoose {
interface Query<T> {
cache(options: CacheOptions): Query<T>;
useCache: boolean;
hashKey: string;
}
}
type CacheOptions = {
key?: string;
};
tsconfig,json
{
"compilerOptions": {
"baseUrl": ".",
"paths": { "*": ["types/*"] },
"target": "es5",
"lib": ["esnext"],
"allowJs": true,
"skipLibCheck": true,
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"strict": true,
"forceConsistentCasingInFileNames": true,
"module": "commonjs",
"moduleResolution": "node",
"resolveJsonModule": true,
"isolatedModules": true,
"noEmit": true,
"typeRoots": ["./node_modules/@types", "./types"]
},
"include": ["./src", "./types"]
}