3

我只是toastrjs用于一些通知,我遇到了这个小问题。理想情况下,当您在 nodejs 中导入库时,您必须做出import声明,如下所示:

import http = require("http");

但是,当我尝试使用 时toastr,即使包含参考路径,也会出现错误。所以,像这样:

///<reference path='toastr.d.ts' />
import toastr = require("./toastr");

我收到此错误:

error TS2071: Unable to resolve external module '"./toastr.js"'.
error TS2072: Module cannot be aliased to a non-module type.    

toastr常规节点模块有何不同http

更新 1

我试图做同样的事情,jQuery但我有同样的问题,这是否意味着这不适用于设计为客户端的框架?

4

1 回答 1

6

以下声明定义将创建一个您可以通过 amd/commonjs 导入的模块:

declare module "jquery"{
    export var jQuery: JQueryStatic;
}

然后你可以这样做:

import jquery = require("jquery");

您可以在此下划线定义中看到此类定义:https ://github.com/borisyankov/DefinitelyTyped/blob/master/underscore/underscore.d.ts#L2853

或 node.d.ts :https://github.com/borisyankov/DefinitelyTyped/blob/master/node/node.d.ts#L203

但是,并非 DT 上的所有文件都有此定义。因为它很简单,可以自行添加,并且您可以随意命名这些模块(在您的 AMD 配置中http://www.youtube.com/watch?v=4AGQpv0MKsA

于 2013-08-24T23:13:26.853 回答