【发布时间】:2015-09-08 09:29:35
【问题描述】:
我正在 Typescript 中为 NodeJS 编写一个模块。我正在尝试使用此模块处理请求(应该是 IncomingMessage 对象)。
/// <reference path="typings/node/node.d.ts"/>
module rateLimiter {
export function processRequest(req : http.IncomingMessage) : Boolean {
return false;
};
}
当试图确保传入的请求参数req 是这样一个实例时,我发现我无法从http 模块中引用任何内容。我对自己说“好的,所以我需要导入它,因为这只是一个别名”。但是,当我这样做时,我收到“命名空间中的导入声明无法引用模块”。
/// <reference path="typings/node/node.d.ts"/>
module rateLimiter {
import http = require('http');//IMPORT DECLARATIONS IN A NAMESPACE CANNOT REFERENCE A MODULE
export function processRequest(req : http.IncomingMessage) : Boolean {
return false;
};
}
所以我尝试了一个看起来很糟糕的决定,在全局范围内导入,只是收到“除非提供 --module 标志,否则无法编译模块”
/// <reference path="typings/node/node.d.ts"/>
import http = require('http');//CANNOT COMPILE MODULES UNLESS --MODULE FLAG IS PROVIDED
module rateLimiter {
export function processRequest(req : http.IncomingMessage) : Boolean {
return false;
};
}
我觉得我从根本上错过了应该如何进行这种参考。感觉我不应该仅仅为了使用 node.d.ts 中包含的定义而导入一个模块。有人可以对此有所了解吗?
【问题讨论】:
标签: node.js typescript