为什么ts-node忽略我的猫鼬声明文件?

时间:2019-05-19 15:16:46

标签: node.js typescript express mongoose ts-node

我以相同的方式扩展了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"]
}

0 个答案:

没有答案