Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

354
Views
¿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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!