我已经启动了一个 ElectronJS/React/Typescript 项目,包括 pcap 模块。不幸的是,该模块需要本机依赖项(pcap_binding.node)。 我已经通过创建文件
react-app-rewired
使用 config-overrides.js
覆盖了 webpack 配置。
到目前为止,我尝试了以下加载器:native-ext-loader
、@marshallofsound/webpack-asset-relocator-loader
、@zeit/webpack-asset-relocator-loader
和node-loader
。
史诗般的失败。我仍然遇到错误:
Module not found: Error: Can't resolve './build/Release/pcap_binding' in '/mnt/Data/Dropbox/DTI/Developement/asterix_flux_transporter/node_modules/pcap'
我的 Electron 网络偏好是:
webPreferences: {
nodeIntegration: true,
contextIsolation: false,
enableRemoteModule: true
}
我还用
target: "electron-renderer"
覆盖 webpack 配置。
当然,如果我在没有 ElectronJS 的终端上使用相同的代码,也就是说只有 NodeJS,一切都运行良好......
如何消除该错误?感谢您的帮助!
您可以使用 Electron 来使用原生节点模块,您只需要从主进程进行调用并与前端进行通信即可。阅读电子中的进程间通信。