Я расширяю и express, и mongoose одинаково, но ts-node, похоже, игнорирует мой файл объявления типа mongoose.
Я прочитал документацию по ts-node, но не мог понять, почему mongoose не работает
Я использую префикс --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, * 1015 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"]
}