2015-10-05 64 views
0

我最近正在编写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'. 

回答

0

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

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

推荐.d.ts用于(手动波浪式)声明,仅与相应的.ts有关。