Estoy tratando de ejecutar mi sitio en localhost con Node.js. Se descarga, pero el script especificado en mi archivo de índice no funciona. Mirando las fuentes de la página, parece que mi archivo de script se ha convertido en una copia exacta de mi archivo de índice. ¿Qué podría causar eso?
Aquí está mi código:
const http = require('http') const fs = require('fs') const port = 3000 const server = http.createServer(function(req, res) { res.writeHead(200, { 'Content-Type': 'text/html'}) fs.readFile('index.html', function(error, data) { if (error) { res.writeHead(404) res.write('Error: File not found') } else { res.write(data) } res.end() }) }) server.listen(port, function(error) { if (error) { console.log('Something went wrong', error) } else { console.log('Server is listening on port ' + port) } })índice.html
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> </head> <body> <h1>Hi</h1> <div id="words">*</div> <script src="script.js"></script> </body> </html>guión.js
words.innerHTML += "1";No tiene ninguna lógica para devolver diferentes respuestas (por ejemplo, en función de la URL solicitada), por lo que su servidor siempre responde con el documento index.html , incluso cuando se solicitan otros recursos (como su secuencia de comandos).
Puede implementar la lógica usted mismo o puede usar el software existente para hacerlo. Uno muy usado se llama express .