У меня есть загрузочное приложение Spring, которое упаковано с Electron в виде двоичного файла.
Этот двоичный файл приложения работает на Windows, но не на Mac.Проблема с Mac заключается в том, что когда я дважды щелкаю двоичный файл приложения, созданного электронным способом, он не рендерит приложение в пользовательском интерфейсе Electron, а если я запускаю сервер в фоновом режиме, тогда все в порядке.
Фрагмент кода JS
const { app, BrowserWindow } = require('electron');
let window;
let appUrl = 'http://localhost:8080';
let appName = 'TEST';
let appHome = process.resourcesPath + '\\' + 'test.jar';
serverProcess = require('child_process').spawn('java', ['-jar', appHome], { detached: false });
serverProcess.stdout.on('data', function (data) {
console.log('stdout' + data);
});
serverProcess.stderr.on('data', function (data) {
console.log('stderr' + data);
});
function createWindow() {
window = new BrowserWindow({ width: 600, height: 600, title: appName });
window.loadURL(appUrl);
window.on('closed', () => {
window = null;
})
}
const startUp = function () {
const requestPromise = require('minimal-request-promise');
requestPromise.get(appUrl).then(function (response) {
createWindow();
}, function (response) {
console.log('Starting the MQUtility instance...');
setTimeout(function () {
startUp();
}, 600);
});
};
startUp();
Фрагмент кода пакета
{
"name": "Test-tool",
"version": "0.0.1-SNAPSHOT",
"description": "A minimal Electron application",
"main": "main.js",
"scripts": {
"start": "electron .",
"package": "electron-packager ./ Test --all --out ~/Desktop/Test --app-version 0.0.1-SNAPSHOT --asar=true --overwrite"
},
"repository": "https://github.com/electron/electron-quick-start",
"keywords": [
"Electron",
"quick",
"start",
"tutorial",
"demo"
],
"author": "GitHub",
"license": "CC0-1.0",
"devDependencies": {
"electron": "^3.0.13",
"electron-packager": "^13.0.1"
},
"dependencies": {
"find-process": "^1.2.1",
"minimal-request-promise": "^1.5.0",
"tree-kill": "^1.2.1"
}
}
Я думаю, что-то упустил на Mac.Кто-нибудь может подсказать?