我正在开发一个使用webpack构建的开源电子项目。我的项目的一个要求是使用必须构建为本机模块的nodegit库。
在使用原生模块和电子时,我遵循了传统的建议。也就是说,我run electron-rebuild,configured the source package to use,最后have configured node-loader来捕获任何.node
文件的导入。
不幸的是,当我去包含模块时,我最终得到了这个错误:
ERROR in ./node_modules/nodegit/dist/nodegit.js
Module not found: Error: Can't resolve '../build/Debug/nodegit.node' in
'C:\Users\atrauzzi\Development\atrauzzi\gerty\node_modules\nodegit\dist'
@ ./node_modules/nodegit/dist/nodegit.js 18:11-49
@ ./src/Layer/Domain/Thunktor/Git/CloneGitRepository.ts
@ ./src/Layer/Gerty/Component/Repository/AddGitHubRepository.tsx
@ ./src/Layer/Gerty/Component/Repository/AddRepository.tsx
@ ./src/Layer/Gerty/Component/Workspace.tsx
@ ./src/Layer/Gerty/Component/App.tsx
@ ./src/Layer/Gerty/GertyServiceProvider.ts
@ ./src/Bundle/GertyElectron.ts
我唯一可以看到的是,当我重建模块以处理电子时,我只获得Release
目录,当导入似乎正在寻找Debug
时:
这可能是红鲱鱼as nodegit is written to try Debug
as a fallback after Release
has failed。
这里的一般问题是“我如何让这个原生模块在我的项目中运行?”。
我也有一个corresponding question over at the repo,虽然我的问题与图书馆本身无关,或者在电子中有一些本土模块的战斗老兵,我认为这样会很好检查的地方。
答案 0 :(得分:0)
尝试通过将本机模块指定为外部依赖而不是使用node-loader加载来配置webpack。