electron Visual Studio代码类型脚本显示错误,但代码运行良好

njthzxwz  于 2022-12-08  发布在  Electron
关注(0)|答案(1)|浏览(166)

我用电子, 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显示红线(错误)?

carvr3hs

carvr3hs1#

tsconfig.json文件中,将common.d.ts添加到包含的文件中。

{
  "compilerOptions": {
    "target": "es2016",
    "jsx": "react",
    "module": "commonjs",
    "esModuleInterop": true,
    "forceConsistentCasingInFileNames": true,
    "strict": true,
    "skipLibCheck": true
  },
  "include": [
    "./public/**/*", // <- Here
    "./src/**/*",
    "./common.d.ts"  // <- Here
  ],
}

这样VSCode就可以解析common.d.ts类型定义文件。此外,在更改之后,最好关闭并再次打开VSCode,以便它重新解析所有内容,或者等待一分钟左右,直到它检测到更改。

相关问题