我正在使用TypeScript和Electron,我想使用WebContents
的类型定义。 WebContents
类不直接在API中公开,因此不会编译:
// I'd like to set the return type to WebContents, but TypeScript can't
// find that type
import { webContents } from 'electron';
export function getWebContents(id: number) : WebContents {
return webContents.getAllWebContents().filter(wc => wc.id === id).pop();
}
但我可以看到在输入文件中定义的界面:https://github.com/DefinitelyTyped/DefinitelyTyped/blob/00b54a3f25f111afd7a6b70b3b56091c5f434129/github-electron/github-electron.d.ts#L3454
如何在不能直接导入WebContents
课程的情况下使用该类型?
版本和typings.json:
"electron-prebuilt": "^1.2.8"
"typescript": "^1.8.10"
"typings": "^1.3.2"
----
"globalDependencies": {
"node": "registry:dt/node#6.0.0+20160807145350",
"github-electron": "github:DefinitelyTyped/DefinitelyTyped/github-electron/github-electron.d.ts#00b54a3f25f111afd7a6b70b3b56091c5f434129"
}
答案 0 :(得分:1)
正如DT上的大多数声明文件一样,这个是全局声明文件。这意味着您不必导入任何内容,类型声明始终存在于项目的任何位置。例如。这样:
// app.ts
let theWebContents: Electron.WebContents
应该编译得很好。