переопределение цели конфигурации Webpack Создание проблемы с электронным рендерером в React App - PullRequest
0 голосов
/ 27 января 2020

Я создал приложение с помощью скрипта 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

некоторые рекомендации будут очень благодарны за решение этой проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...