Я прочитал очень много постов об этой проблеме, но для меня это все еще остается.
Я строю реагирующее веб-приложение и хочу показать это в настольном приложении.
Вот моя версия среды:
Node : v10.13.0
Npm : 6.4.1
yarn : 1.12.3
Сначала я пытаюсь установить электронс моим npm в основном проекте, но получил ошибки.Поэтому я создал новый реактивный проект, используя create-Reaction-app через powershell:
npm install -g create-react-app
Затем я устанавливаю электрон через пряжу.Я добавил все требования к package.json и main.js.Ниже приведены package.json и main.js
Package.Json:
{
"name": "chat",
"version": "0.1.0",
"main": "public/main.js",
"private": true,
"dependencies": {
"react": "^16.6.3",
"react-dom": "^16.6.3",
"react-scripts": "2.1.1"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject",
"electron-start": "electron ."
},
"eslintConfig": {
"extends": "react-app"
},
"browserslist": [
">0.2%",
"not dead",
"not ie <= 11",
"not op_mini all"
],
"devDependencies": {
"electron": "^3.0.10"
}
}
main.js
const electron = require('electron');
const app = electron.app;
const BrowserWindow = electron.BrowserWindow;
const Menu = electron.Menu;
let mainWindow;
function createWindow() {
mainWindow = new BrowserWindow({width: 900, height: 680});
mainWindow.loadURL('http://localhost:3000');
app.setAboutPanelOptions({
applicationName: "chat",
applicationVersion: "0.0.1",
})
mainWindow.on('closed', () => mainWindow = null);
}
app.on('ready', createWindow);
app.on('window-all-closed', () => {
if (process.platform !== 'darwin') {
app.quit();
}
});
app.on('activate', () => {
if (mainWindow === null) {
createWindow();
}
});
После этого я запускаю свой локальный хост через запуск скриптачтобы получить доступ к localhost.Затем запустите yarn run electron-start
, чтобы открыть электронное приложение, но вы получили ошибку: Невозможно найти электронное приложение.