如何在TypeScript定义文件中使用外部模块的类型?

时间:2017-07-05 09:02:29

标签: node.js typescript mongoose visual-studio-code

我试图在TypeScript定义文件中引用Mongoose类型。目前我正在使用常规.ts文件,以便我可以

import mongoose from 'mongoose'

但我希望它是一个正确的定义文件(.d.ts)。问题是定义文件中不允许import。所以我试过这个

/// <reference types="mongoose" />
interface doc extends mongoose {}
interface doc extends mongoose.Document {}

/// <reference path="../../node_modules/@types/mongoose/index.d.ts" />
interface doc extends mongoose { }
interface doc extends mongoose.Document {}

但它们都不起作用 - 无论我使用mongoose还是Mongoose。 VS代码只是说cannot find name 'mongoose'cannot find namespace 'mongoose'

我在这里不知所措。如何在定义文件中使用外部模块的定义?

1 个答案:

答案 0 :(得分:0)

我不认为猫鼬类型有默认导出,这可能导致此问题。尝试在d.ts文件中添加import * as mongoose from 'mongoose'import mongoose = require('mongoose')