我用电子, typescript ,React与预载。
环境
"electron": "19.0.6",
"electron-builder": "23.1.0",
"typescript": "4.7.4",
目录
root - public / preload.ts
|____ src / main.tsx
|____ common.d.ts
<common.d.ts>
export interface ItestAPI{
load:() => Promise<void>
}
declare global{
interface Window{
testAPI: ItestAPI
}
}
<main.tsx>
export function Main(){
async function handleClick(){
await window.testAPI.load();
}
return(
...
<btn onClick={handleClick}>
...
)
}
<preload.ts>
我猜preload和main都是指同一个窗口,因为它运行得很好。
如果是,为什么preload.ts显示红线(错误)?
1条答案
按热度按时间carvr3hs1#
在
tsconfig.json
文件中,将common.d.ts
添加到包含的文件中。这样VSCode就可以解析
common.d.ts
类型定义文件。此外,在更改之后,最好关闭并再次打开VSCode,以便它重新解析所有内容,或者等待一分钟左右,直到它检测到更改。