我想知道在使用电子的remote
模块进行IPC时是否可以从渲染器源目录中获取电子主源目录中某个模块的打字稿。
我的主要目标是能够获得我的IDE,以便在处理渲染器源目录文件时为我提供有关模块导出类型的自动完成提示。如果有关系,我同时使用IntelliJ和vscode。
例如,假设电子反应应用程序的文件夹结构如下:
/src
|-- index.tsx // Entry point for building the renderer app
/lib
|-- electron.ts // main entry point to initialize electron app
|-- api/ // The module that implements the API contract to the front end
|-- index.ts
假设api / index.ts导出了一个我想从React应用程序中获取的常量。
export const foo = 1;
我可以从renderer(React)源文件中访问foo
,如下所示:
const api = window.require("electron").remote.require("./api")
console.log(api.foo);
但是,大概是由于require("./api")
导致IDE无法帮助我弄清楚该模块中的可用内容。它还不能确定foo
是一个数字。
我如何帮助Typescript编译器/ IDE找出api的类型?
甚至可以帮助打字稿编译器弄清楚...remote.require("./api")
实际上是/lib/api
中的api模块吗?
在这种情况下,我定义成功的原因是编译器告诉我api.bar
是未定义的,并且告诉我api.foo
可以。