При попытке использовать nuxt / now-builder я получаю 404 от сервера now для моих вызовов API. Мое приложение работает на dev и сейчас со статическим компоновщиком в сочетании с компоновщиком узлов. (Для динамических маршрутов мне просто нужно перейти на Nuxt Builder)
Это мой конфиг (простой, как может быть):
с использованием nuxt 2.8
now.json
{
"version": 2,
"builds": [
{
"src": "nuxt.config.js",
"use": "@nuxtjs/now-builder",
"config": {
"serverFiles": [
"api/**"
]
},
"routes": [
{
"src": "/_nuxt/.+",
"headers": {
"cache-control": "s-maxage=31536000"
}
},
{
"src": "^/(.*)",
"dest": "/"
},
{
"src": "/api/.*",
"dest": "/api/index.js"
}
]
}
]
}
nuxt.config.js
serverMiddleware: [
{ path: '/api', handler: '~/api/index.js' }
]
axios: {
baseURL: '',
browserBaseURL: ''
},
Я подозреваю, что проблема в структуре dir.
мой api / index.html создает маршруты, используя микрорутер
const { run } = require('micro')
const { withNamespace, get, post } = require('microrouter')
const { authenticate, login } = require('./cognito')({
...Auth,
clientSecret: process.env.COGNITO_CLIENT_SECRET,
cookieSecret: process.env.COGNITO_COOKIE_SECRET
})
const routes = [
post('/login', login),
]
const namespace = process.env.NAMESPACE || ''
const router = withNamespace(namespace)
const whitelist = ['/login'].map(path => `${namespace}${path}`)
const handler = authenticate(router(...routes), { whitelist })
module.exports = (req, res) => run(req, res, handler)
Теперь сборка прошла успешно, без ошибок. Но затем я получаю 404 для {host} / api / login от сервера now. Я считаю, что это маршрутизация, но это может быть и сама сборка serverMiddleware.