如何创建导出现有模块的.d.ts文件?

时间:2015-09-24 19:53:41

标签: javascript html typescript dust.js

我在我的TypeScript项目中同时使用dust.js(特别是dustjs-linkedin)和dustjs-helpers。我从dustTypes中获得了dustjs-linkedin的输入,但我遇到了dustjs-helpers的问题。差不多,我只想声明一个名为dustjs-helpers的模块并正确导出dustjst-linkedin模块。这意味着无论何时拨打import helpers = require('dustjs-helpers');,您都应该能够访问常规灰尘默认使用的所有功能。

Dust's typings文件声明其模块如下:declare module "dustjs-linkedin" { ... }。我希望我可以做类似以下的事情,但我得到错误......

/// <reference path="../dustjs-linkedin/dustjs-linkedin.d.ts" />

declare module "dustjs-helpers" {
    import dust = require("dustjs-linkedin")
    export = dust;
}

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:2)

有点参与,但我已经证实这有效:

declare module "dustjs-helpers" {
    import dust = require("dustjs-linkedin")    

    // Bring into a type
    type Dust = typeof dust;

    // Specify extensions
    type Extensions = {
        anotherFunc : Function;
    }

    // Combine types
    type DustExtended = Dust & Extensions;

    // Create var for export
    var dustExtended: DustExtended;

    // Export
    export = dustExtended;
}