Я пытаюсь переключить тумблер в электронном приложении, которое запускает экспресс-сервер и отправляет сообщение обратно приложению, на котором работает сервер.
Сейчас происходит переключениеперевернут, сервер включен, но событие не запускается обратно в процесс рендеринга, как должно.
Вместо этого мне нужно получить доступ к одному из маршрутов моего экспресс-сервера в моем браузере, который затемотправить как журнал, который должен был прийти раньше, так и новый, который поставляется с запросом маршрута.
index.js
const {app, BrowserWindow, ipcMain} = require('electron');
ipcMain.on('log', (event, arg) => {
mainWindow.webContents.send('log', arg)
});
ipcMain.on('web-state', (event, current) => {
current ? Web.turnOff() : Web.turnOn()
event.sender.send('web-state', Web.isOn() ? true : false);
});
render.js
window.$ = window.jQuery = require('jquery');
const {ipcRenderer} = require('electron');
ipcRenderer.on('log', function(event , data) {
console.log(data);
});
$('#web-switch').on('click', function(e) {
var Server = !document.getElementById("web-switch").checked? Web.turnOff() : Web.turnOn();
});
server.js
const Express = require('express');
const Web = Express();
const Logger = require('./logger.js');
var Server;
let mainWindow;
function turnOn() {
return Server = Web.listen(Config.web.port || 4000, function() {
let str = 'App awakens on port ' + Config.web.port;
Logger.log(str, t);
});
}
module.exports = {
turnOn: function() {
return turnOn();
},
isOn: function() {
return Server? Server.address() : false;
}
}
logger.js
const {ipcRenderer} = require('electron');
function log(data, level) {
let str = 'something';
ipcRenderer.send('log', str);
}
module.exports = {
log: function(data, level) {
log(data,level)
}
}
index.html
require('../js/render.js');
<input type="checkbox" id="web-switch" name="web-switch">