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

229
Visualizações
Ejecutar un middleware de servidor Express junto con Nuxt

Mis terminales no funcionan, y muy probablemente porque el servidor en el que se encuentra express no se ejecuta correctamente. Ejecuto mis archivos con npm run dev y mis archivos express están en /middleware . El punto final del que intento obtener datos está en una ruta en /middleware/routes/crash.js . En mi archivo vue, tengo axios realizando una solicitud de obtención a localhost:3000/api/crash/:id , sin embargo, axios devuelve un error 400 que indica que el archivo no se ha encontrado ejecutándose en el servidor.

paquete.json:

 "scripts": { "dev": "nuxt" }

/middleware/index.js:

 const express = require('express') const app = express() const crash = require('./routes/crash') app.use(crash) module.exports = { path: '/middleware', handler: app }

/middleware/routes/crash.js:

 const { Router } = require('express') const router = Router() const crypto = require("crypto"); ... router.get('/api/crash/:id')
over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Necesitas tener al menos esto en tu
archivo nuxt.config.js

 export default { ssr: true, target: 'server', modules: [ '@nuxtjs/axios', ], serverMiddleware: [ { path: '/api', handler: '~/server-middleware/rest.js' }, ], }

Y un archivo /server-middleware/rest.js con

 const app = require('express')() app.get('/what-is-my-name/:name', (req, res) => { res.json({ name: req.params.name, age: 12 }) }) module.exports = app

Luego, puede usarlo así en cualquier archivo .vue

 <template> <div> <input id="name" v-model="name" type="text" name="name" /> <button @click="callNuxtApi">try local Nuxt API</button> <div> Response from the backend: <pre>{{ response }}</pre> </div> </div> </template> <script> export default { name: 'AccordionList', data() { return { name: 'bob', response: {}, } }, methods: { async callNuxtApi() { const response = await this.$axios.$get( `/api/what-is-my-name/${this.name}` ) this.response = response }, }, } </script>

Entonces, esto funcionará con éxito localmente (estoy usando un name dinámico aquí).

ingrese la descripción de la imagen aquí


Luego, deberá implementarlo en un VPS, pero hay un pequeño problema: deberá implementar su aplicación y enviar el directorio server-middleware usted mismo como se explica aquí: https://github.com/nuxt/nuxt .js/issues/9158#issuecomment-820676790

Por eso, plataformas como Render.com o Heroku probablemente no sean las más fáciles para este tipo de tareas (ni siquiera estoy seguro de que esto sea posible).

Algunos VPS caseros o el uso de Nuxt3 probablemente serían más fáciles en general, en mi opinión.

over 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