我正在尝试使用ElectronJS和ReactJS创建桌面应用。
渲染器进程使用webpack进行捆绑,因为我正在使用JSX。
当我尝试在渲染器进程中从电子导入任何内容(例如import electron from 'electron';
或const electron = require('electron');
)时,当我尝试使用webpack(Web部件)构建它时,我会收到这两个错误,或者当我使用webpack-dev-server并在电子中打开localhost URL时:
请注意,我没有使用create-react-app
,bundle.js
是webpack的输出,App.jsx
是我正在尝试导入电子的文件,我要将电子导入到访问ipcRenderer变量,我没有尝试从渲染器进程(或主进程)导入fs
。
我找到的解决方案是通过将此行添加到我的index.js
eval('window.Electron = require("electron")');
并通过变量Electron
访问电子(大写字母E是因为vs代码将其识别为命名空间,即使未导入电子,因此我仍然可以获得代码完成)
但那真的很难看,我希望有另一个解决方案。
答案 0 :(得分:2)
要为Electron应用程序的渲染器进程构建包,webpack提供了一个特殊的目标参数。
将此添加到您的webpack配置:
target: 'electron-renderer'