我在TypeScript项目中同时使用了dust.js(特别是ustsjs-linkedin)和dustjs-helpers。我得到的是defineTyped的ustustjs-linkedin类型,但是我遇到了ustustjs-helpers。差不多,我只想声明一个名为dustjs-helpers的模块,并使其正确导出dustjst-linkedin模块。这意味着,每次调用import helpers = require('dustjs-helpers');时,您都应该能够访问默认情况下常规除尘器使用的所有功能。

Dust的类型文件声明其模块如下:declare module "dustjs-linkedin" { ... }。我希望我可以做下面的事情,但是出现错误...

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

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


谁能帮我吗?

最佳答案

有点涉及,但我已经验证了它的工作原理:

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;
}

关于javascript - 如何创建一个导出现有模块的.d.ts文件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32769814/

10-11 05:30