Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

224
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda