在TypeScript中引用BrowserSync类型

时间:2015-10-26 10:35:50

标签: typescript

很难在browser-sync type definition

中定义的对象上设置typedef

类型定义如下所示:

declare module "browser-sync" {
    import chokidar = require("chokidar");
    import fs = require("fs");
    import http = require("http");

    interface Options {...}
    interface BrowserSyncStatic extends BrowserSyncInstance {
      (config?: Options, callback?: (err: Error, bs: Object) => any): BrowserSyncInstance;
    }
    interface BrowserSyncInstance {
      active: boolean;
      ...
    }
    const browserSync: BrowserSyncStatic;
    export = browserSync;
}

我想要做的是将我的options对象指定为类型定义中定义的类型,但我无法使语法正确...

导入后......

import * as browserSync from 'browser-sync';

我理解为什么像active这样的方法在browserSync对象上可见(因为它是唯一出现导出的东西),但我没有得到的是我是否能使用{{ 1}}在类型定义中定义的类型...它看起来对外部使用是隐藏的,所以我想知道它被定义的用途是什么?我认为我的理解是不正确的,但无法弄清楚我错过了什么。

编辑:似乎是一个已知的“问题”https://github.com/borisyankov/DefinitelyTyped/issues/6382

0 个答案:

没有答案