Я создал приложение с помощью скрипта create activ app, следуя этой статье . После добавления пользовательской цели для конфигурации веб-пакета как электронное средство визуализации приложение не запускается.
Я переопределяю веб-пакет с помощью customize-cra вместо rescripts .
const { override } = require("customize-cra");
const addWebpackTarget = target => config => {
config.target = target;
return config;
};
module.exports = override(addWebpackTarget("electron-renderer"));
пакет. json
"dependencies": {
"@testing-library/jest-dom": "^4.2.4",
"@testing-library/react": "^9.4.0",
"@testing-library/user-event": "^7.2.1",
"electron-is-dev": "^1.1.0",
"react": "^16.12.0",
"react-dom": "^16.12.0",
"react-scripts": "3.3.0"
},
"scripts": {
"start": "react-app-rewired start",
"build": "react-app-rewired build",
"test": "react-app-rewired test",
"eject": "react-scripts eject",
"electron-dev": "concurrently \"npm start\" \"wait-on http://localhost:3000 && electron .\"",
"postinstall": "electron-builder",
"preelectron-pack": "npm run build",
"electron-pack": "electron-builder build"
}
электрон. js
const electron = require("electron");
const app = electron.app;
const BrowserWindow = electron.BrowserWindow;
const path = require("path");
const isDev = require("electron-is-dev");
let mainWindow;
function createWindow() {
// Define the applications dimension
mainWindow = new BrowserWindow({
width: 900,
height: 680
});
// Determine what to render based on environment
mainWindow.loadURL(
isDev
? "http://localhost:3000"
: `file://${path.join(__dirname, "../build/index.html")}`
);
// Show chrome developer tools when in dev environment
if (isDev) {
mainWindow.webContents.openDevTools();
}
// Create event to close window on close
mainWindow.on("closed", () => (mainWindow = null));
}
// On launch create app window
app.on("ready", createWindow);
app.on("window-all-closed", () => {
// Based on which operating system you are using
if (process.platform !== "linux") {
// If os not linux, close the app
// you can add darwin(mac os), win64 and so many more
app.quit();
}
});
app.on("activate", () => {
if (mainWindow !== null) {
createWindow();
}
});
и фрагмент ошибки приведен ниже при запуске n pm начало .
![error snippet](https://i.stack.imgur.com/NNvfB.png)
некоторые рекомендации будут очень благодарны за решение этой проблемы.