很难在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