Soy nuevo en electron y node.js trabajando en mqtt para actualizar el DOM. Recibo un mensaje en mqtt a mi función main.js onmessage y mi main.js es
const { app, BrowserWindow } = require('electron') var mqtt = require('mqtt') var client = mqtt.connect("mqtt://localhost") client.on("connect", function(){ client.subscribe("testtopic") }) client.on("message", function(topic, message, packet){ document.getElementById("someId").innerHTML = message }) function createWindow () { const win = new BrowserWindow({webPreferences:{nodeIntegration: true}}) win.loadFile('index.html') win.maximize() } app.whenReady().then(() => { createWindow() })Y me gustaría actualizar el elemento que está disponible en index.html desde mi devolución de llamada onmessage. No puedo acceder, muestra que el documento de error no está definido. ¿Cómo lograr esto o puedo importar mqtt directamente en mi script index.html? en ese caso, ¿por qué usar node mqtt en su lugar? Puedo usar paho mqtt. Por favor consejo sobre esto.
Ese código se ejecuta en el "backend", no en el navegador, por lo que no tendrá acceso al DOM.
Si desea actualizar el DOM en respuesta a los mensajes MQTT, tiene un par de opciones.
Implemente un MQTT sobre WebSockets en el archivo index.html que se suscribirá al corredor directamente en la página y tendrá acceso directo al DOM. Puede usar MQTT.js o el cliente Paho en la página, pero necesitará un agente que se haya configurado específicamente para admitir MQTT a través de WebSockets.
Mire la configuración de alguna conexión directa entre el código de fondo y la página cargada, la siguiente pregunta podría ayudar con algunos consejos: ¿Cómo acceder a los elementos DOM en electrones?