Estoy trabajando en un código que mostrará los archivos de registro en mi computadora en una ventana con un enlace en el que se puede hacer clic para acceder al contenido del archivo de registro. El código que se muestra a continuación es script.js e index.html. srcipt.js lee los archivos y usa un bucle for para formatearlos en html y se supone que index.html solo muestra los registros en la ventana. Sin embargo, cada vez que presiono mi botón, todo lo que muestra es la palabra indefinido en mi ventana y no estoy seguro de por qué.
guión.js
const fs = require('fs'); var outputHTML = ''; var logdirname = '.././logs/'; var alllogs = fs.readdirSync(logdirname, function(err, filenames) { if (err) { onError(err); return console.log("Error"); } }); outputHTML += "<table>"; for (var i = 0; i <= alllogs.length ; i++) { let iPlusOne = i+1; outputHTML += "<tr><td>"; outputHTML += "<a href=G:\logs\\" + alllogs[i] + ">Log File " + iPlusOne; outputHTML += "</a></td></tr>\n" } outputHTML += "</table>"; console.log(outputHTML);índice.html
<!DOCTYPE html> <html> <head> <script type="text/javascript" src="script.js"> </script> </head> <body> <button onclick= "f()"> Click To Access Logs </button> <div> <p id="text"> </p> </div> <script type="text/javascript"> function f() { document.getElementById("text").innerHTML = outputHTML; } </script> </body> </html>