如何导出与React集成的Electron App用于不同的平台?

dgjrabp2  于 6个月前  发布在  Electron
关注(0)|答案(1)|浏览(97)

安装

我创建了我的react应用程序:

npx create-react-app testing_app --typescript

字符串
然后安装这些依赖项:

npm install --save cross-env electron-is-dev
npm install concurrently electron electron-builder wait-on


然后在public目录下创建一个electron.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() {
mainWindow = new BrowserWindow({ width: 900, height: 680 });
    mainWindow.loadURL(isDev ? "http://localhost:3000": 
        `file://${path.join(__dirname, "../build/index.html")}`);

    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();
    }
});


这就是我的package.json的样子:

{
  "name": "testing_app",
  "version": "0.1.0",
  "private": true,
  "description": "Some Description",
  "author": "Emma",
  "build": {
    "appId": "com.testing_app"
  },
  "main": "public/electron.js",
  "homepage": "./",
  "dependencies": {
    "@testing-library/jest-dom": "^5.16.4",
    "@testing-library/react": "^13.1.1",
    "@testing-library/user-event": "^13.5.0",
    "concurrently": "^7.1.0",
    "cross-env": "^7.0.3",
    "electron": "^18.2.0",
    "electron-builder": "^23.0.3",
    "electron-is-dev": "^2.0.0",
    "react": "^18.1.0",
    "react-dom": "^18.1.0",
    "react-scripts": "5.0.1",
    "wait-on": "^6.0.1",
    "web-vitals": "^2.1.4"
  },
  "scripts": {
    "react-start": "react-scripts start",
    "react-build": "react-scripts build",
    "react-test": "react-scripts test --env=jsdom",
    "react-eject": "react-scripts eject",
    "electron-build": "electron-builder",
    "release": "npm run build && electron-builder --linux --win --mac --x64 --ia32 --publish never",
    "build": "npm run react-build && npm run electron-build",
    "start": "concurrently \"cross-env BROWSER=none yarn react-start\" \"wait-on http://localhost:3000 && electron .\""
  },
  "eslintConfig": {
    "extends": [
      "react-app",
      "react-app/jest"
    ]
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  }
}

我试过的命令

我试过

npm run build && electron-builder --linux --win --mac --x64 --ia32 --publish never


但这个错误发生了:
Screenshot of the error

aiqt4smr

aiqt4smr1#

同样的事情发生在我身上,你必须删除

"electron": "^18.2.0",
    "electron-builder": "^23.0.3",

字符串
package.json文件中的行。

相关问题