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

212
Views
Express Listen no funciona y el puerto se toma de env automáticamente

Después de escribir todos los puntos finales, decidí agregar PORTS y JWT_key a .ENV usando el paquete dotenv, todo funcionó perfectamente hasta que decidí hacer la prueba de integración ahora express.listen no funciona y automáticamente toma el puerto del archivo .ENV y no no como

esto es app.js

 require("express-async-errors"); const Express = require("express"); const app= Express(); const winston = require("winston"); require("./start/logger")(); require("./start/routes")(express); require("./start/db")(); require("./start/config")(); require("dotenv").config(); const port = process.env.PORT || 5000; const server = app.listen(port, () => console.log(`listening on port ${port}`) ); module.exports = server;

no obtiene nada en la consola

este es un archivo .env

 PORT=9000 jwtPrivateKey="myPrivateKey"

tan pronto como elimino el puerto del archivo .env, el servidor deja de responder

este es mi archivo de prueba

 const request = require("supertest"); let server; describe("/api/genres", () => { beforeEach(() => { server = require("../../app"); }); afterEach(() => { server.close(); }); describe("GET /", () => { it("should return all genres", async () => { jest.setTimeout(2000); const res = await request(server).get("/api/genres"); expect(res.status).toBe(200); }); }); });

por favor guíame a través de esto. No hice un repositorio de git para esto, de lo contrario lo habría reiniciado.

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

En su archivo .env, cambie las variables de

 port=9000

a

 PORT=9000

Está recibiendo el error porque las variables dentro de su .env no están en mayúsculas, sin embargo, en su código está usando process.env.PORT donde están en mayúsculas.

Siguiendo con lo que ha dicho Heiko, es una buena convención usar app en lugar de express . Cambiaría la parte superior del código a:

 const Express = require("express"); const app = Express();

Y luego cambia express.listen() a:

 const port = process.env.PORT || 5000; app.listen(port, () => console.log(`listening on port ${port}`) );

¡Gracias! Espero que esto ayude.

about 4 years ago · Juan Pablo Isaza 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!