【问题标题】:What makes a typescript module, a typescript module? Toastr example什么使打字稿模块,打字稿模块?烤面包机示例
【发布时间】:2013-08-27 12:35:08
【问题描述】:

我只是使用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.    

toastrhttp 等常规节点模块有何不同?

更新 1

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

【问题讨论】:

    标签: node.js typescript toastr


    【解决方案1】:

    以下声明定义将创建一个您可以通过 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

    【讨论】:

    • 这对于浏览器中的 Toastr 似乎没有帮助。我不得不求助于直接在我的主页中包含 toastr.js。
    猜你喜欢
    • 2023-03-29
    • 2021-12-26
    • 1970-01-01
    • 2016-06-22
    • 2016-05-13
    • 2014-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多