让电子打包者使用生产构建

时间:2018-04-10 20:20:03

标签: reactjs electron-packager

我有一个create-react-app,我试图弄清楚如何使用生成版本让electron-packager创建.exe。它继续使用./src

中的开发文件夹

正在运行

electron-packager . --no-prune --ignore=/node_modules --ignore=/e2e --overwrite --ignore=/src

不起作用。我也试过

electron-packager ./build --no-prune --ignore=/node_modules --ignore=/e2e --overwrite --ignore=/src

以下是我package.json

中的相关条目
{
    "homepage": "./",
    "main": "src/electron-entry.js",
    "build": {
        "target": "nsis",
        "dir": "./build"
    }
}

这是指向生产版本的loadURL。在electron-entry.js。这在我在开发环境中运行时有效。

new BrowserWindow(BrowserWindowProps).loadURL(url.format({
    pathname: path.join(__dirname, '/../build/index.html'),
    protocol: 'file:',
    slashes: true
}));

electron-entry.js中的数据是否与目录electron-packager相关?

1 个答案:

答案 0 :(得分:0)

找到解决方案。我将电子输入文件放入根目录并更改了loadURL以反映出来。

let startUrl = process.env.ELECTRON_START_URL || url.format({
    pathname: path.join(__dirname, '/build/index.html'),
    protocol: 'file:',
    slashes: true
});
mainWindow.loadURL(startUrl);

更改了我的package.json以反映此更改:

{
  "main": "./electron-entry.js",
}

然后我跑了

electron-packager . --no-prune --ignore=/node_modules --ignore=/e2e --overwrite --ignore=/src