Node.js 作为electron应用程序的一部分构建本机模块

Node.js 作为electron应用程序的一部分构建本机模块,node.js,webpack,electron,electron-builder,native-module,Node.js,Webpack,Electron,Electron Builder,Native Module,我目前正在使用electron、react、typescript和NodeJS本机模块构建一个应用程序。我使用提供的样板代码()启动了应用程序 我希望向应用程序中添加一些本机模块,最好在应用程序中作为库编写。目前我已经编写了一个C++模块来读取一些内存统计信息。在开发模式下运行时,我可以按如下方式导入模块:const native=require('./lib/memmonitor/build/Release/memmonitor.node');' 我遇到的第一个问题是,需要通过进入控制器并手动

我目前正在使用electron、react、typescript和NodeJS本机模块构建一个应用程序。我使用提供的样板代码()启动了应用程序

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

我遇到的第一个问题是,需要通过进入控制器并手动运行
electron-rebuild
来手动构建模块。理想情况下,这应该通过运行
纱线安装
纱线电子重建
(两者都在样板文件包.json中定义)来触发;但是,这些命令似乎只关心通过节点_模块包含的本机模块

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


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

因此,经过几周的断断续续的尝试,找出如何完成这项工作,结果证明答案是使用
纱线
的一行


“技巧”是使用
添加链接:../path/to/native/module
将模块作为依赖项添加到项目中。这反过来会告诉你关于模块的
Thread
/
webpack
/
electron builder
,这些工具将正确地处理模块的构建。

因此,经过几周的断断续续地尝试找出如何完成这项工作后,答案是使用
Thread
的一行程序

“技巧”是使用
添加链接:../path/to/native/module
将模块作为依赖项添加到项目中。这反过来会告诉您有关模块的
warn
/
webpack
/
electron builder
,并且这些工具将正确处理模块的构建