让电子包装器使用生产构建
Getting electron-packager to use production build
我有一个 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
使用的目录相关?
找到解决办法。我将电子入口文件放入根目录并更改了 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
我有一个 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
使用的目录相关?
找到解决办法。我将电子入口文件放入根目录并更改了 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