0
我想指定一些覆蓋事件,這些事件會給我一個電子應用程序的類型安全。擴充進口打字稿模塊接口
對於我的類型:
export type SectionName = 'webview'
| 'index'
| 'settings'
export interface ShowSection {
key: SectionName,
}
我要以擴大此碼:
import {
ipcMain,
} from 'electron'
ipcMain.on('rendered', (event) => {
const sender = event.sender
event.sender.send('show-section', {
key: 'index',
})
})
發件人是Electron.WebContents
類型被定義here
我試圖增加像這個:
declare namespace Electron {
interface WebContents extends NodeJS.EventEmitter {
send(channel: 'show-section', arg: ShowSection): void;
}
}
我不確定如何做到這一點,以便我可以在單個事件中獲得類型安全。
感謝
啊謝謝,工作。不幸的是,我期待的副作用,如果我沒有正確的價值arg的錯誤不起作用,我不確定如果可能。 – Tal
我已經閱讀了一些文檔,但無法弄清楚在我的代碼中放置這樣的聲明的位置。我可以在哪裏放置該文件,以及如何配置我的編譯選項以查看它? – Tal
原始'event.sender.send(...)'的問題在於它接受'any'作爲第二個參數的類型,因此每個其他類型的擴充語句都不同。關於模塊擴充,您可以爲此創建特定的文件(例如custom-typings.d.ts)。你有這個錯誤嗎? – Diullei