Node.js 需要 typescript 和 .d.ts 文件
Node.js with typescript require and .d.ts files
我想创建一个服务器端脚本,为此我需要 "Q",
所以我包含了 q.d.ts 文件。
我用它来导入 q:
var Q = require("q");
现在我收到这个错误:重复的标识符 'Q'
有人知道如何解决这个名称冲突吗?
完整的启动脚本:+
///<reference path="Scripts/typings/q/Q.d.ts" />
///<reference path="Server.ts" />
///<reference path="Services/DatabaseProvider.ts" />
///<reference path="Response/Response.ts" />
///<reference path="Response/DataResponse.ts" />
var Q = require("q");
var di = require("ng-di");
var app = di.module("App", []);
app.service("server", Server);
app.service("$databaseProvider", DatabaseProvider);
app.run((server: Server) => {
server.run();
});
di.injector(["App"]);
Duplicate identifier 'Q'
如果文件的根目录中没有 import
或 export
语句:您的文件以及传递给 TypeScript 编译器的任何其他此类文件都被视为全局命名空间。所以变量 Q
与 q.d.ts
中声明的变量冲突。
修复
import
问,不要只是require
它:
import Q = require("q");
有关外部模块的更多信息:https://www.youtube.com/watch?v=KDrWLMUY0R0
我想创建一个服务器端脚本,为此我需要 "Q", 所以我包含了 q.d.ts 文件。 我用它来导入 q:
var Q = require("q");
现在我收到这个错误:重复的标识符 'Q'
有人知道如何解决这个名称冲突吗?
完整的启动脚本:+
///<reference path="Scripts/typings/q/Q.d.ts" />
///<reference path="Server.ts" />
///<reference path="Services/DatabaseProvider.ts" />
///<reference path="Response/Response.ts" />
///<reference path="Response/DataResponse.ts" />
var Q = require("q");
var di = require("ng-di");
var app = di.module("App", []);
app.service("server", Server);
app.service("$databaseProvider", DatabaseProvider);
app.run((server: Server) => {
server.run();
});
di.injector(["App"]);
Duplicate identifier 'Q'
如果文件的根目录中没有 import
或 export
语句:您的文件以及传递给 TypeScript 编译器的任何其他此类文件都被视为全局命名空间。所以变量 Q
与 q.d.ts
中声明的变量冲突。
修复
import
问,不要只是require
它:
import Q = require("q");
有关外部模块的更多信息:https://www.youtube.com/watch?v=KDrWLMUY0R0