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

177
Vistas
Cómo llamar a una función (en un archivo separado) desde la función de devolución de llamada http. app.get("/", callbackFun)

Estructura del archivo:

 testAPI contactDetail dispMobNo.js myModule.js index.js

índice.js

 const express = require("express"); const app = express(); const port = process.env.port || 3000; const getCustNo = require("./contactDetail/dispMobNo"); app.use(getCustNo); app.listen(port, console.log("server running on port: " + port));

dispMobNo.js

 const express = require("express"); const router = express.Router(); router.get("/", getContactNo); function getContactNo(req, res) { console.log(req.query); res.send(req.query); } module.exports = router;

El código anterior funciona PERO quiero eliminar la función getContactNo de este archivo y quiero ponerlo en un archivo separado. Quiero decir, no quiero poner ningún código dentro/debajo del punto final de la API. Quiero poner la función getContactNo en un archivo separado y quiero llamar desde la función de devolución de llamada del punto final de la API. Entonces, ¿cómo hacer esto?

Versión modificada de dispMobNo.js:

 const express = require("express"); const router = express.Router(); router.get("/", getContactNo); module.exports = router;

miModulo.js

 function getContactNo(req, res) { console.log(req.query); res.send(req.query); } module.exports = getContactNo;
about 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

puedes hacerlo de esta manera

  1. cree un archivo de controlador en el que cree y exporte todas sus funciones de lógica empresarial.

 // controller.js file export async getData = (req,res) => { // your logic }

  1. importe ese archivo de controlador en su archivo de ruta y use la función allí.

 // route.js file const Controller = require("./controller"); route.get('/api-endpoint',async(req,res)=>{ Controller.getData(req,res); })

EDITAR para una explicación más simple

 // controller.js file function getData(req,res){ //your logic } module.exports = {getData} // main route file const {getData} = require('./controller.js'); route.get('/api-endpoint',function(req,res){ getData(req,res); });
about 4 years ago · Santiago Trujillo Denunciar

0

Ya casi has llegado.

Versión modificada de dispMobNo.js:

 const myModule = require('./my-module.js'); const express = require("express"); const router = express.Router(); router.get("/", myModule.getContactNo); module.exports = router;

mi-modulo.js

 function getContactNo(req, res) { console.log(req.query); res.send(req.query); } module.exports = { getContactNo };

Arriba, he asumido que ambos archivos están en el mismo directorio.

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