He leído que en el servidor no puedes usar DOM. Creé una aplicación web usando DOM y me pregunto qué se debe hacer para reproducir este código para que funcione en un servidor, para que las personas en Internet puedan trabajar con él. Aquí hay un pequeño pico de un código:
// Listen for export button click document.getElementById('exportForm').addEventListener('submit', function (e) { setTimeout(exportData, 20); e.preventDefault(); }); // Export data function function exportData(e) { console.log("Exporting..."); // device details and time range details const devId = (document.getElementById('deviceInput')).value; var dateFrom = (document.getElementById('dateFromInput')).value; var dateTo = (document.getElementById('dateToInput')).value; var timeFrom = (document.getElementById('timeFromInput')).value; var timeTo = (document.getElementById('timeToInput')).value; const limit = (document.getElementById('limitInput')).value; const key = (document.getElementById('keysInput')).value;
Cuando trato de ejecutarlo en el servidor usando pm2 start app.js, devuelve este error:
ReferenceError: document is not defined at Object.<anonymous> (/home/cloud/sites/App/app.js:6:1) at Module._compile (internal/modules/cjs/loader.js:999:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10) at Module.load (internal/modules/cjs/loader.js:863:32) at Function.Module._load (internal/modules/cjs/loader.js:708:14) at Object.<anonymous> (/usr/lib/node_modules/pm2/lib/ProcessContainerFork.js:33:23) at Module._compile (internal/modules/cjs/loader.js:999:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10) at Module.load (internal/modules/cjs/loader.js:863:32) at Function.Module._load (internal/modules/cjs/loader.js:708:14)
Escuché sobre JSDom, pero creo que debe incluirse html en una cadena y luego no tengo idea de cómo conectar el css allí y así sucesivamente. ¿Hay una mejor manera para mí de hacer que esto funcione?
El objeto del documento es una función del navegador, por lo tanto, no puede usarlo dentro del servidor. En su lugar, tiene otras funciones como el FS (Sistema de archivos)
De todos modos, es posible usar JSDom, debe volver a escribir usando estilos en línea https://www.codecademy.com/article/html-inline-styles , lo cual no es una buena práctica y debe evitarlo