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

217
Vistas
Node.js + Express: estructura de archivos y comunicación

Tengo una aplicación de inicio de sesión, pero tengo problemas para comunicar las credenciales del formulario ( email y password ) a mis archivos .js existentes, donde realiza alguna lógica y recupera información.

En mi página de inicio de login tengo un form con un método POST . Luego, tengo un main.js que realiza el inicio de sesión:

principal.js

 module.exports = { returnSessionToken: function(success, error) { var email = email_X; var pwd = password_Y; [...] function(error, response, body) { var login = JSON.parse(body); success(login.sessionToken) }

Y luego tengo un index.js donde recupero información del usuario registrado:

índice.js

 var authToken = require("./main"); authToken.returnSessionToken((result) => { 'my_website_token': result, [...] }

En mi proyecto express , tengo estos dos archivos en una carpeta js . Lo que estoy tratando de hacer es obtener el correo electrónico y la contraseña del form de la página de inicio de sesión y pasarlo a mi archivo main.js ( email_X y password_Y ) y luego llamar a index.js . Sé cómo obtener req.body.email y req.body.password en la carpeta de routes , pero todavía no puedo entender cómo hacer que estos archivos se comuniquen.

También he intentado editar el archivo app.js en:

aplicación.js

 var login = require('./js/main');

y entonces,

 app.use('/myaccount', login);

Pero sin éxito. Cualquier ayuda será muy apreciada. ¡Gracias!

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

0

Estoy un poco confundido por los detalles y lo que parece ser que faltan algunos pasos, pero parece que el problema puede deberse a la forma en que está configurando y haciendo referencia a su módulo main.js.

app.use('/myaccount', login) enviará dos objetos a su módulo main.js, generalmente denominados req y res. req contiene información sobre la solicitud http. Creo que los datos de una publicación de formulario HTTP se envían en req.body.

Vea el ejemplo a continuación:

índice.js

 var express = require('express'); var login = require('./login'); var app = express(); app.use('/login', login); // mount the sub app

iniciar sesión.js

 var express = require('express'); var login = express(); login.post('/', function (req, res) { console.log(req.body); // should print your form data // do your login logic here res.status(200).end(); // Sends http response back }); module.exports = login;
about 4 years ago · Santiago Trujillo Denunciar

0

Para referencia futura, aquí hay un ejemplo de trabajo. ¡Gracias Ryan Villanueva por la ayuda!

principal.js

 module.exports = { returnSessionToken: function(email, pwd, success, fail) { var email = email; var pwd = pwd; success(token) [...] }

índice.js

 module.exports = { returnUserData: function(authToken, success) { [...] 'my_website_token': authToken, }

aplicación.js

 var myaccount = require('./routes/myaccount'); app.use('/myaccount', myaccount);

rutas/micuenta.js

 var express = require('express'); var router = express.Router(); var login = require('../js/main') router.post('/', function(req, res) { var email = req.body.email var password = req.body.password login.returnSessionToken(email, password, (token) => { console.log("return token: ", token) var logged = require('../js/index') logged.returnUserData(token, (myData) => { res.render('myaccount', { myData: myData }); }) }, (fail) => {console.log(fail)}) }) module.exports = router;
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