写入模块的定义文件导出返回模块的函数

时间:2015-10-05 11:45:04

标签: node.js typescript tsd

我最近在为node.js模块编写定义文件" mongoose-bird"。该模块导出返回模块的函数。有了互联网指南,我写道:

declare module "mongoose-bird" {
  export = () => MongooseAsync;
  module MongooseAsync {
...

但我发现使用以下代码,类型系统无法正常工作:

import mongoose_bird = require('mongoose-bird');
var mongoose = mongoose_bird();
...
export interface IUser extends mongoose.Document {

由于tsc报告错误TS2503

error TS2503: Cannot find namespace 'mongoose'.

1 个答案:

答案 0 :(得分:0)

  

错误TS2503:找不到命名空间'mongoose'。

因为您使用import将文件设置为模块(与全局命名空间断开连接)。

仅针对(手动波浪)声明推荐.d.ts,并使用相应的.ts进行实施。