1

我目前正在使用电子、反应、打字稿和 NodeJS 原生模块构建应用程序。我使用提供的样板代码(https://github.com/electron-react-boilerplate/electron-react-boilerplate)启动了应用程序。

我希望将一些本机模块添加到应用程序中,最好将其编写为应用程序中的库。目前我已经编写了一个 C++ 模块来读取一些内存统计信息。通过导入模块,我可以在开发模式下运行时使模块工作,如下所示const native = require('./lib/memmonitor/build/Release/memmonitor.node');'

我遇到的第一个问题是模块需要通过进入director并手动运行来手动构建electron-rebuild。理想情况下,这应该通过运行yarn installyarn electron-rebuild(都在样板 package.json 中定义)触发;然而,这些命令似乎只关心通过 node_modules 包含的本机模块。

我遇到的第二个问题是,在打包应用程序时,节点模块没有包含在最终构建中,导致电子应用程序由于找不到节点模块而无法启动。

是否可以将本地模块构建为应用程序构建的一部分,并将其包含在最终包中,或者为每个自定义本地模块提供单独的存储库是标准的,应用程序是否将库作为依赖项包含在内?

4

1 回答 1

0

因此,在断断续续地试图弄清楚如何完成这项工作几周后,结果发现答案是使用yarn.

“技巧”是用来yarn add link:../path/to/native/module将模块添加为项目的依赖项。这反过来告诉您yarn//webpack关于electron-builder模块,工具将正确处理构建模块。

于 2020-09-25T13:58:15.683 回答