Включение API-маршрутов в приложение Nuxt и Express (с помощью create-nuxt-app) - PullRequest
0 голосов
/ 12 ноября 2018

Я создал приложение с помощью команды create-nuxt-app npm и получил этот файл server / index.js.

const express = require('express')
const consola = require('consola')
const { Nuxt, Builder } = require('nuxt')
const app = express()
const host = process.env.HOST || '127.0.0.1'
const port = process.env.PORT || 3000

app.set('port', port)

// Import and Set Nuxt.js options
let config = require('../nuxt.config.js')
config.dev = !(process.env.NODE_ENV === 'production')

async function start() {
  // Init Nuxt.js
  const nuxt = new Nuxt(config)

  // Build only in dev mode
  if (config.dev) {
    const builder = new Builder(nuxt)
    await builder.build()
  }

  // Give nuxt middleware to express
  app.use(nuxt.render)

  // Listen the server
  app.listen(port, host)
  consola.ready({
    message: `Server listening on http://${host}:${port}`,
    badge: true
  })
}
start()

У меня также есть файл js, содержащий мои маршруты API.

const { Router } = require('express')
const router = Router()
router.get('/route1', function(req, res){
   return 'Hello world';
}
module.exports = router

Я ищу способ добавления префиксов к маршрутам 'api', не добавляя его к каждому маршруту один за другим (если это возможно), а также включая маршруты в первую очередь.

Ответы [ 2 ]

0 голосов
/ 25 мая 2019

Согласно документации:

https://nuxtjs.org/api/configuration-servermiddleware/

https://nuxtjs.org/examples/auth-routes

API-маршруты применяются к nuxt.config.js

serverMiddleware: [
    '~/api'
],

Это работает для меня.

0 голосов
/ 08 января 2019

Просто примените ваш маршрут API в качестве промежуточного ПО с префиксным путем

import api from './api';
app.use('/api', api);

Ссылка: https://expressjs.com/en/api.html#path-examples

...