如何打包Windows版Electron React App

问题描述

我有一个内置的电子反应应用程序,我想打包它,因此我可以将其作为.exe运行。 我正在Mac上进行开发,并且MacOS的打包工作正常,并且能够运行它。 但是在窗口上,它只显示带有白色屏幕的窗口。

我做了什么: 1:npm run build, 2:npm run pack, 3:在dist文件夹中打开.exe

我的package.json

 {
  "name": "App Name","version": "0.1.0","main": "src/electron.js","homepage": "./","private": true,"build": {
    "win": {
      "target": [
        "nsis"
      ]
    },"appId": "com.example","files": [
      "build/**/*","node_modules/**/*"
    ]
  },"dependencies": {
    ...
  },"scripts": {
    "start": "react-scripts start","build": "react-scripts build","electron": "electron .","pack": "electron-builder --dir -w","test": "jest","watch": "jest --watch src","eject": "react-scripts eject"
  },"eslintConfig": {
    "extends": "react-app"
  },"browserslist": {
    "production": [
      ">0.2%","not dead","not op_mini all"
    ],"development": [
      "last 1 chrome version","last 1 firefox version","last 1 safari version"
    ]
  },"devDependencies": {
    "@babel/plugin-transform-modules-commonjs": "^7.10.4","@babel/preset-env": "^7.10.4","babel-jest": "^24.9.0","electron": "^9.2.1","electron-builder": "^22.8.0","jest": "^24.9.0"
  }
}

我的electron.js

const { app,browserWindow } = require('electron')
const isDev = require('isdev')

function createWindow() {
   let win = new browserWindow({
        width: 800,height: 600,webPreferences: {
            nodeIntegration: true
        }
    })

    if(isDev) {
        win.loadURL('http://localhost:3000'
    } else {
        win.loadFile(`file://${__dirname},'./index.html'`)
    }
}

app.whenReady().then(createWindow)

我必须如何配置路径,以便它找到index.html?

感谢您的帮助!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)