В соответствии с этим невозможно установить флаги в электронном приложении. с переменными окружения. Мне все еще нужно создать разные версии приложения для разработки, промежуточной, пилотной и рабочей версии.
Внутри я хотел бы использовать electron-node-config
, потому что это просто. Но поскольку у меня нет доступа к переменным окружения, использовать node-config
невозможно.
Поэтому я подумал о нескольких входных сценариях, таких как
// index.dev.js
require('./main')({ APP_URL: 'localhost:8080' });
// index.staging.js
require('./main')({ APP_URL: 'https://staging.foo.com' });
// pilot.staging.js
require('./main')({ APP_URL: 'https://pilot.foo.com' });
Где мой файл main.js
выглядит более или менее так
module.exports = (config) => {
app.on('ready', () => {
mainWindow.loadURL(config.APP_URL);
});
};
Однако в документах по сборщику электронов, похоже, нет возможности указать файл записи, он всегда использует index.js
для упаковки приложения, и в документах для js API мало что написано, кроме
const builder = require('electron-builder');
const env = process.env.NODE_ENV;
const entry = `index.${env}.js`;
builder.build({
entry,
appId: 'com.electron.foo',
productName: 'foo',
mac: {
target: 'zip'
},
win: {
target: 'portable'
},
portable: {
artifactName: 'foo.exe'
}
});
Итак, я попытался настроить свой package.json следующим образом.
"scripts": {
"build:staging": "NODE_ENV=development node scripts/build",
"build:pilot": "NODE_ENV=pilot node scripts/build",
"build:production": "NODE_ENV=production node scripts/build"
}
Однако я действительно не уверен, как установить файл ввода для конфигурации электронного построителя. Как указать файл записи?
scripts/build
на самом деле является вашимbuild.js
. Большое спасибо за это решение - person Leonardo Rick   schedule 11.03.2021