Я пытаюсь создать настольное приложение, используя ElectronJS и ReactJS .
Процесс рендеринга связан с использованием webpack , так какЯ использую в нем JSX.
Когда я пытаюсь импортировать что-либо из электрона (например, import electron from 'electron';
или const electron = require('electron');
) в процессе рендеринга, я получаю эти 2 ошибки, когда я пытаюсь построить его сwebpack (веб-часть) или когда я использую webpack-dev-server и открываю локальный URL-адрес в электронном виде:
https://pastebin.com/WdkCcPzm
Обратите внимание, что я не использую create-react-app
,bundle.js
- это вывод веб-пакета, App.jsx
- это файл, из которого я пытаюсь импортировать электрон, который я хочу импортировать электроном для доступа к переменной ipcRenderer, и что я не пытаюсь импортировать fs
из процесса рендеринга.(или из основного процесса в этом отношении).
Решение, которое я нашел, состояло в том, чтобы обойти упаковку webpack, добавив эту строку к моему index.js
eval('window.Electron = require("electron")');
и получая доступ к электрону через переменнуюElectron
(заглавная буква E - потому что код признает это какпространство имен, хотя электрон не импортируется, и, таким образом, я все еще получаю завершение кода)
Но это действительно ужасно, и я надеялся, что было другое решение.