正在尝试 link 使用 electron-webpack 的本机模块

Attempting to link a native module using electron-webpack

我使用 v8.h headers 在 c++ 中编写了一个本机模块,我想将其导入我的电子应用程序。

该模块工作正常。我在它自己的文件夹中编译它,然后我 copy-paste 将 .node 放入这个样板文件 https://github.com/szwacz/electron-boilerplate 中,我需要它使用 bindings 包。

我想以此 https://github.com/electron-userland/electron-webpack-quick-start 作为构建我的电子应用程序的起点。主要有两个原因:这是推荐的方式,它承诺为 macOS 打包您的应用程序,linux 和 windows。我将包含源代码的文件夹复制到项目的根文件夹中,我将 bindings.gyp 文件和 "nodeGypRebuild": "true", 添加到根文件夹中的 package.json 中。该模块是用 yarn install 编译的,但是如果我尝试将它导入 import {Module} from 'MyModule'src/main/index.js 和 运行 yarn dev 中,输出是

Module not found: Error: Can't resolve 'MyModule' in '/Users/BiA/Src/WebPack/src/main'

在谷歌搜索问题时我发现了这里 https://github.com/chentsulin/electron-react-boilerplate/wiki/Module-Structure----Two-package.json-Structure 现在我更加困惑了,因为 electron-webpack-quick-start

中没有 app/ 文件夹

谁能帮我想办法走出这个死胡同?是否存在涵盖此案例的文档?即使是一个工作示例,比如一个开源项目,我可以在其中学习如何做到这一点。

编辑:为了更好地理解问题,我创建了一个简单的 git 存储库:https://github.com/BiancoA/electron-webpack-quick-start-nm

我使用 yarn link 找到了问题的解决方案:https://yarnpkg.com/lang/en/docs/cli/link/

这里我保存了工作项目: https://github.com/BiancoA/electron-webpack-quick-start-nm

如果还有其他可能的方法,我会很乐意学习