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

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

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

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 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