Я уже написал часть электронного приложения.Фактически я подключил PHP к Electron, используя дочерний процесс.(Код файла main.js, который делает это, можно найти внизу моего вопроса, чтобы все было ясно).
Когда я запускаю свое приложение Electron, используя
electron ./main.js
все работает хорошо: файл PHP выполняется правильно.Но это не то, что я хочу.Я хочу иметь возможность упаковать свое приложение, предъявив иск
electron-packager --electron-version=2.0.2 . --platform=win32 --arch=x64
Выполнение этой команды не дает ошибок.Все идет хорошо, и все необходимые файлы копируются в подкаталог.Но когда я запускаю созданный файл .exe, он не показывает ничего полезного.Только пустая страница.
Может ли кто-нибудь помочь мне и дать мне некоторые ресурсы, которые могут помочь мне немного дальше?Я уже искал в Интернете решение и болтал по каналу Electron SLACK, но ответа там не получил.В Slack это было потому, что я не был достаточно быстр, чтобы ответить, так как я был занят ... И я не нашел ничего полезного в Интернете.
Я надеюсь, что кто-то здесь может дать мне немногосоветы, чтобы я мог искать в лучшем направлении.
А теперь, как и обещал код файла .main.js:
const {app, BrowserWindow} = require('electron');
const url = require('url');
let window;
function createWindow()
{
const { execFile } = require('child_process');
const child = execFile('php/php.exe', ['-S', '127.0.0.1:4911', '-t',
'./www'], (error, stderr, stdout) => {
if (error) { console.log(error); }
if (stderr) { console.log(stderr); }
});
window = new BrowserWindow({width: 800, height: 600});
window.loadURL(url.format({
pathname: 'localhost:4911',
protocol: 'http:',
slashes: true
}));
window.on('closed', () => {
window = null;
});
}
app.on('ready', createWindow);
app.on('winow-all-closed', () => {
if(process.platform !== "darwin") {
app.quit();
}
});
app.on('activate', () => {
if(window == null) {
createWindow();
}
});
Содержимое ./www.Файл /index.php, на который ссылается child_process:
<?php
phpinfo();
?>
(Примечание: этот файл работает без упаковки)