微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Electron-TypeScript-React 应用程序中本机模块的接口

如何解决Electron-TypeScript-React 应用程序中本机模块的接口

我正在编写一个应用程序,该应用程序依赖于使用 Electron、React 和 TypeScript 的原生 Node 模块。我有上下文隔离,并且正在使用预加载脚本将本机模块的 API 公开到全局范围。我的预加载脚本如下所示:

const {contextBridge} = require('electron')

contextBridge.exposeInMainWorld('electron',{basis: require('basis')})

在我的应用程序的非打字稿版本中,我可以这样使用它:

window.electron.basis["some property of the native module"]

然而,TypeScript 显然没有原生模块 API 的概念。我应该如何让它知道?我的一次成功在于我的 index.tsx 推杆:

declare global {
    interface Window {
        electron: { basis: { greeting(): string } };
    }
}

但这看起来很笨拙。我应该在本机模块中放置一个 .d.ts 文件吗?我可以导出这个界面合并到不同的文件吗?作为参考,我将 Neon 与 N-API 后端一起使用。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。