Me pregunto cómo podría leer los nombres de los archivos de mi directorio y mostrarlos en forma de tabla en una ventana. Ya tengo un intento que hice a continuación, pero por alguna razón, cada vez que ejecuto el código, todo lo que aparece en la ventana es la palabra "indefinido". No estoy muy seguro de por qué esto es y cualquier ayuda para evitar que diga indefinido sería muy apreciada.
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; } }); outputHTML += "<table>"; for (var i = 0; i <= alllogs.length ; i++) { outputHTML += "<tr>"; outputHTML += "<td>" + alllogs[i] + "</td>" outputHTML += "</tr>"; } 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 Animals </button> <div> <p id="text" style="color:purple; font-weight:bold;font-size:20px;"> </p> </div> <script type="text/javascript"> function f() { document.getElementById("text").innerHTML = outputHTML; } </script> </body> </html>El problema con su código es que su secuencia de comandos no es Node.js, es JavaScript simple y no puede acceder al sistema de archivos desde el navegador (desde JavaScript) debido a restricciones de seguridad.
Tal vez podría trabajar con la API de acceso al sistema de archivos. Hace que el proceso de manejo de archivos con los navegadores sea mucho más fácil.
Luego, podría aparecer una ventana emergente donde debe seleccionar los archivos.