Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

355
Vistas
Cómo ejecutar nodejs con html como vanilla js

Soy muy nuevo en el nodo, así que necesito ayuda con este. Entiendo cómo mostrar un archivo html usando nodejs como este:

(nodo)

 var http = require('http'); let fs = require("fs"); http.createServer(function (req, res) { fs.readFile("test.html",(err, data) => { if(!err) { res.writeHead(200, {'Content-Type': 'text/html'}); res.end(data); } }); }).listen(8080);

Sin embargo, quiero saber cómo usaría esto para hacer cosas que haría en js como

(js)

 document.getElementById("thisElement").style.backgroundColor = "#234"; document.getElementById("thisElement").addEventListener("click",() => { doThings(); });

Y otras cosas js relacionadas.

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Entiendo cómo mostrar un archivo html usando nodejs como este:

Eso no "muestra un archivo HTML usando nodejs".

Eso envía un archivo HTML a un cliente HTTP, como un navegador web.

Un navegador web puede mostrar un archivo HTML.


Sin embargo, quiero saber cómo usaría esto para hacer cosas que haría en js como

Los navegadores web toman HTML, generan un DOM, ejecutan JavaScript con API web del lado del cliente y proporcionan una interfaz de usuario para que el usuario interactúe con él.

Node.js no lo hace.


El lenguaje de programación JavaScript es un lenguaje de programación de propósito general.

Los navegadores web proporcionan API específicas para hacer cosas que son útiles para hacer en un navegador web.

Node.js proporciona API para hacer cosas en otros contextos (como ejecutar un servidor HTTP o escribir utilidades de línea de comandos).

No puede tomar JS diseñado para ejecutarse en un navegador web y ejecutarlo en Node. No tiene sentido.

(Puede escribir código que se ejecute en ambos contextos (generando un número aleatorio para tomar un ejemplo trivial) pero la mayoría del código no es tan genérico).

about 4 years ago · Juan Pablo Isaza Denunciar

0

Ves esta línea en tus códigos fs.readFile("test.html",(err, data) => {

esta línea va y selecciona el archivo test.html, que está disponible en su lado del cliente ahora, cualquier cosa relacionada con este archivo test.html es una cosa del cliente ya que es html, en él declarará las etiquetas y las referencias del archivo javascript como se muestra a continuación

 <html> <body> <script src = "../../to/js/files.js"></script> <!-- or as below --> <script> //now in here you get to do your fun stuffs as you asked above document.getElementById("thisElement").style.backgroundColor = "#234"; document.getElementById("thisElement").addEventListener("click",() => { doThings(); }); </script> </body> </html>
about 4 years ago · Juan Pablo Isaza Denunciar

0

No creo que pueda hacerlo de esta manera con el nodo porque no es su propósito, el nodo se creó para servir cosas, no para cambiar html o actuar en el navegador como desee, no hay DOM en el nodo.

PERO, puede intentar leer el archivo y editarlo insertando contenido, pero será algo tan difícil de hacer una vez que necesite cambiar el texto y probablemente será una matriz o puede intentarlo con el motor de termplate express, usted puede usar plantillas que son mutables cuando las sirve con un nodo, por lo que puede usar variables como valores html.

https://expressjs.com/en/resources/template-engines.html

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda