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

444
Vistas
¿Cómo llamar a una función de nodo desde javascript del lado del cliente? (HTML)

Tengo una aplicación de nodo llamada index.js que se ejecuta express. Hace un tiempo, decidí fusionar una plantilla de sitio web y mi aplicación de nodo y todo funciona bien hasta aquí. Puedo cargar otras rutas en la aplicación de nodo ( index.js ) usando el siguiente código.

 var express = require('express'); var app = express(); app.use('/assets', express.static(path.join(__dirname, '/assets'))); app.use(express.static(path.join(__dirname, '/')));

Ahora, puedo servir diferentes páginas html usando express, lo que significa que mi aplicación puede acceder a la carpeta de assets y al contenido dentro de la carpeta.

Ahora, la carpeta de activos contiene otras carpetas llamadas js, css y... La plantilla HTML está cargando todos sus códigos javascript de la carpeta js en assets . Tenga en cuenta que los códigos javascript no están escritos en el archivo HTML. Aquí hay un ejemplo de cómo se activa un script en mi código HTML:

 <script src="../../assets/js/test.js"></script> <script type="text/javascript"> $(document).ready(function(){ test.theFunction(); }); </script>

Y aquí está el código javascript en el siguiente directorio:

 // assets/js/test.js test = { theFunction: function() { res.send("finally..."); console.log("sup?"); } }

Estoy tratando de llamar a la siguiente función dentro de index.js desde test.js :

 // /index.js app.get("/hey", function(req, res) { res.send("wassaaa!!"); });

Hasta ahora, he probado el siguiente código, pero no llama a la función:

 $.get('/hey').success(function(response) { $scope.final = response; console.log(response); });

También probé module.exports en index.js , pero cuando lo requiero en test.js un error que dice que no puedo requerir cosas en el lado del cliente.

También he visto algunos ejemplos relacionados con require.js, pero los ejemplos explican principalmente cómo cargar require.js en el archivo HTML en lugar de hacerlo directamente en un archivo js.

Para resumir, esto es lo que quiero que suceda: el archivo HTML activa las funciones en test.js , luego test.js obtiene algunos datos de index.js y los pasa al archivo HTML nuevamente... Estoy tratando de evitar escribir los códigos javascript en el archivo HTML.

También estoy abierto a sugerencias si alguien sabe cómo lograr lo que estoy tratando de hacer de una manera más fácil. Gracias por adelantado...

about 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Debe escribir la función en test.js e importarla a index.js . Por ejemplo, una función getResponse() que devuelve "wassaaa!!" en test.js, y en index.js use res.send(test.getResponse())

about 4 years ago · Santiago Trujillo Denunciar

0

Necesita usar la URL para lograr eso. Este es un ejemplo de su entorno de desarrollo, suponiendo que su aplicación está escuchando en el puerto 8800:

 $.get('http://localhost:8800/hey').success(function(response) { $scope.final = response; console.log(response); });
about 4 years ago · Santiago Trujillo 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