Как встроить сервер в электронное приложение?
Я учусь создавать кроссплатформенное настольное приложение с использованием электроники. У меня есть опыт работы с PHP, поэтому я хочу интегрировать некоторые скрипты в разрабатываемое мной электронное приложение (скрипты в основном предназначены для обработки данных и их сохранения в БД SQLite).
Можно ли этого добиться?
1 ответ
Решение
Вы можете попробовать использовать gulp-connect-php, он запустит встроенный php-сервер при запуске вашего электронного приложения. Как сказал другой пользователь в комментариях, вам нужно объединить предварительно скомпилированные бинарные файлы php в ваше конечное приложение. Вот пример кода, который я использую в своих проектах для запуска некоторых php-скриптов в себе:
main.js
const { app, BrowserWindow } = require('electron');
var path = require("path");
connect = require("gulp-connect-php");
var port = '8000';
var con = connect.server({
port: port,
hostname: "localhost",
base: path.resolve(__dirname)+"/src/",
keepalive: true,
open: false,
//bin: path.resolve(__dirname)+"/bin/php",
root: "/",
stdio: "inherit"
});
let win;
function createWindow () {
win = new BrowserWindow({ width: 800, height: 600 });
win.loadFile('index.html');
win.on('closed', () => {
win = null;
});
}
app.on('ready', createWindow);
app.on('window-all-closed', () => {
if (process.platform !== 'darwin') {
app.quit();
}
});
app.on('activate', () => {
if (win === null) {
createWindow();
}
});