【发布时间】:2020-12-29 11:25:40
【问题描述】:
我目前正在使用电子、反应、打字稿和 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 包含的本机模块。
我遇到的第二个问题是,在打包应用程序时,节点模块没有包含在最终构建中,导致电子应用程序由于找不到节点模块而无法启动。
是否可以将原生模块构建为应用程序构建的一部分,并将其包含在最终包中,或者为每个自定义原生模块提供单独的存储库是标准的,让应用程序包含库作为依赖项?
【问题讨论】:
标签: node.js webpack electron electron-builder native-module