Я пытаюсь преобразовать приложение PHP в Электрон. Я обнаружил gulp-connect- php и решил использовать его. Во время разработки все работает отлично. После того, как я запустил сборку (я использую электронный строитель), я получаю пустое окно при запуске приложения. Вот некоторые выдержки из основного. js файла.
// Connect local PHP server
connect = require("gulp-connect-php");
var con = connect.server({
port: 8000,
hostname: "127.0.0.1",
base: 'public',
keepalive: false,
open: false,
root: "/",
stdio: "inherit"
});
// Window
app.on('ready', function() {
// Create the browser window
mainWindow = new BrowserWindow({
width: 800,
height: 800,
icon: 'public/images/icon/icon.png',
frame: false,
webPreferences: {
plugins: true,
nodeIntegration: true
}
});
// Load
mainWindow.loadURL("http://127.0.0.1:8000");
});
Мой файл записи приложения - public / index. php. По этой причине функция loadURL не должна загружать традиционный индексный файл. html. Если я заменю свой файл public / index. php на index. html, то все в порядке после сборки. Вот мой пакет. json, если это могло бы помочь.
{
"name": "App",
"version": "0.1.0",
"license": "MIT",
"description": "App",
"author": "John Doe <xyz@mail.app>",
"main": "main.js",
"scripts": {
"start": "electron .",
"pack": "electron-builder --dir",
"dist": "electron-builder"
},
"build": {
"appId": "App",
"directories": {
"output": "build"
},
"dmg": {
"contents": [
{
"x": 110,
"y": 150
},
{
"x": 240,
"y": 150,
"type": "link",
"path": "/Applications"
}
]
},
"linux": {
"target": [
"AppImage",
"deb"
]
},
"win": {
"target": "nsis",
"icon": "build/icon.ico"
}
},
"devDependencies": {
"custom-electron-titlebar": "^3.2.2-hotfix62",
"electron": "^8.2.0",
"electron-builder": "^22.4.1",
"electron-nightly": "^10.0.0-nightly.20200330"
},
"dependencies": {
"gulp": "^4.0.2",
"gulp-connect-php": "^1.0.3"
}
}
Я надеюсь, вы могли догадаться, что с этим не так! Спасибо