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;puedes hacerlo de esta manera
// controller.js file export async getData = (req,res) => { // your logic } // 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); });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.