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

269
Vistas
El servidor Nuxt & Express no recibe solicitudes de API en producción/dist

Tengo una aplicación Nuxt ejecutándose correctamente en mi servidor local y todas las solicitudes de API se ejecutan correctamente desde el mismo servidor (usando la propiedad serverMiddleware en nuxt.config.js ). Cuando ejecuto un yarn generate , la ruta al servidor API se pierde y no se cargan datos. A continuación se muestran algunas capturas de pantalla.

Carga datos correctamente desde la API.

1

No se puede encontrar la API

2

Aquí hay un ejemplo de una llamada api en el archivo project_dir api/index.js

 const express = require("express"); const passport = require("passport"); const allRoutes = require("../api/routes/routes"); const guestRoutes = require("../api/routes/guest"); const fileUpload = require("express-fileupload"); const path = require("path"); // Create express instance const app = express(); // Init body-parser options (inbuilt with express) app.use(express.json()); app.use(fileUpload()); app.use(express.urlencoded({ extended: false })); app.use(express.static(path.join(__dirname, "../", "dist"))); /** * -------------- PASSPORT AUTHENTICATION ---------------- */ // Need to require the entire Passport config module so index.js knows about it require("./config/passport-jwt"); // Initialize Passport app.use(passport.initialize()); /** * -------------- ROUTES ---------------- */ // Imports all of the routes from ./routes/index.js app.use(guestRoutes); app.use(passport.authenticate("jwt", { session: false }), allRoutes); console.log("express"); console.log(path.join(__dirname, "../", "dist")); app.get("*", (req, res) => { res.sendFile(path.join(__dirname, "../", "dist", "index.html")); }); // Export express app module.exports = app;

No sé por qué no puedo obtener datos de las rutas API que estoy ejecutando en el mismo servidor.

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Aquí hay una respuesta detallada sobre cómo ejecutar un servidor Express junto con Nuxt: https://stackoverflow.com/a/72102209/8816585

Lo primero que debe saber es que no puede tener un servidor Node.js con yarn generate porque está usando target: 'static' y, como puede adivinar, cuando algo es estático, no necesita un servidor Node.js para ser servido al usuario final (solo los archivos estáticos html + css + js están alojados en un CDN o similar).
Este modo está destinado a alojar el código en Netlify, Vercel o similar, sin un servidor Node.js disponible allí.

¿Por qué funciona localmente? Porque tiene un servidor de desarrollo de Webpack en ejecución (con un servidor Node.js) para fines de depuración como HMR, etc.


TDLR: esto es normal (funciona según lo previsto hasta ahora). Más información en el enlace dado arriba sobre cómo hacer que funcione.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Después de mucha investigación y depuración, se me ocurrió una nueva idea. En lugar de ejecutar npm run start o yarn start que contiene el script "nuxt start" dentro del archivo package.json. Agregué un nuevo script con el nombre "express-start": "cross-env NODE_ENV=production node api/index.js" . Que ejecuta el servidor express y los archivos estáticos nuxt. Actualmente estoy creando una plantilla para que sea más fácil para aquellos que enfrentarán este desafío.

Enlace a un modelo que creé después de resolver el problema. Modelo estándar de ExpressJs y NuxtJs

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