javascript - 带有 typescript require 和 .d.ts 文件的 Node.js

标签 javascript node.js typescript q

我想创建一个服务器端脚本,为此我需要“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'

如果文件根部没有 importexport 语句:您的文件以及传递给 TypeScript 编译器的任何其他此类文件都会被视为全局命名空间的一部分。因此变量 Qq.d.ts 中声明的变量冲突。

修复

import 问,不要只是require它:

import Q = require("q");

有关外部模块的更多信息:https://www.youtube.com/watch?v=KDrWLMUY0R0

关于javascript - 带有 typescript require 和 .d.ts 文件的 Node.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29050092/

相关文章:

node.js - 如何在node js中获取mongoDB集合大小?

javascript - 让 Promise 和 Yield 一起工作

reactjs - 使用 Typescript 3.5+ 在 React 中覆盖子属性

angular - 这是在 angularfire2 中使用 rxjs MergeMap 的正确方法吗?

javascript - 我可以检测鼠标当前是否在 Canvas 绘制函数内移动吗?

Javascript 函数操作

javascript - 我怎样才能拆开这个 SVG 字体以在 Chrome 中以编程方式使用它?

javascript - Google Nexus 网站中使用的 JS 插件的名称

xml - Node SOAP WSDL 请求不完整(仅某些 block )

typescript - 如何定义对象数组?