我目前正在尝试为电子应用程序构建本机C ++插件。
我已经成功按照以下链接中的说明从testaddon.node
文件构建并运行了index.js
(确实是一个很棒的指南,非常值得一读)。
我目前将自己在package.json
文件夹中制作的插件包含在内,并通过npm start
运行我的电子应用。
但是,我似乎无法理解require('./test-addon/build/Release/testaddon.node');
我最好的猜测是该文件夹根本没有放入我的.asar
中。我已经尝试了electron-rebuilder
,electron packager
等的所有可能组合。
从我看到的情况来看,electron.asar
仅在我通过节点修改node_modules
文件夹时触发。但是,如果我要创建自己的C ++模块,我将看不到该怎么做。
非常感谢您的协助。
答案 0 :(得分:0)
在将我的头砸成墙后,我使用了这些教程。请注意,某些C ++代码现在已经过时,尤其是后面的示例。但是,前3或4个示例可以构建并正常运行。
https://github.com/nodejs/abi-stable-node-addon-examples
1)确保您的示例按节点附加示例示例链接中的说明进行工作。 2)将其带入电子体。 3)确保安装后运行。\ node_modules.bin \ electron-rebuild.cmd
电子渲染器中的需求与示例文件中的需求相同。
答案 1 :(得分:0)
尝试使用bindings
模块,
https://github.com/TooTallNate/node-bindings
,它将查找并加载您的本机.node文件。为我工作如下:
const B2 = require('bindings')('b2')
此行摘自here