2014-10-05 41 views
0

我正在尝试创建一个Node.js应用程序,它将连接到MongoDb数据库。我正在使用TypeScript。但下面的代码行很麻烦。TypeScript编译器找不到我先前声明的变量

/// <reference path="mongodb.d.ts" /> 
var mongo = require('mongodb'); 
class DefaultModel<T> { 
    private db : mongo.Db; 
} 

TSC报告:TS2095: Could not find symbol 'mongo'.。我不明白为什么它不能在课堂以外宣布它。你能帮我弄清楚为什么?

模块被宣布mongodb.d.ts为declare module "mongodb" { /* Omitted */ }

回答

0

TS2095:找不到符号 '蒙戈'。

您试图在 delaration空间来使用它::mongo.Db;。而你只需要它在变量声明空间中声明:var mongo

修复:使用importvar

/// <reference path="mongodb.d.ts" /> 
import mongo = require('mongodb'); 
+0

这是有道理的,但如果我在代替使用进口我得到这个:'TS5037:除非提供'--module'标志,否则不能编译外部模块。' – 2014-10-06 14:21:47

+0

没想到,我发现我错过了编译器的--module“commonjs”参数。谢谢 :) – 2014-10-06 14:30:05

相关问题