我目前正在使用电子、反应、打字稿和 NodeJS 原生模块构建应用程序。我使用提供的样板代码(https://github.com/electron-react-boilerplate/electron-react-boilerplate)启动了应用程序。
我希望将一些本机模块添加到应用程序中,最好将其编写为应用程序中的库。目前我已经编写了一个 C++ 模块来读取一些内存统计信息。通过导入模块,我可以在开发模式下运行时使模块工作,如下所示const native = require('./lib/memmonitor/build/Release/memmonitor.node');'
:
我遇到的第一个问题是模块需要通过进入director并手动运行来手动构建electron-rebuild
。理想情况下,这应该通过运行yarn install
或yarn electron-rebuild
(都在样板 package.json 中定义)触发;然而,这些命令似乎只关心通过 node_modules 包含的本机模块。
我遇到的第二个问题是,在打包应用程序时,节点模块没有包含在最终构建中,导致电子应用程序由于找不到节点模块而无法启动。
是否可以将本地模块构建为应用程序构建的一部分,并将其包含在最终包中,或者为每个自定义本地模块提供单独的存储库是标准的,应用程序是否将库作为依赖项包含在内?