我有一个简单的Nuxt应用程序与serverMidlleware处理一个api端点(/api/contact
)。为了部署这个应用程序,我正在使用pm2。在开发和生产中运行这个应用程序(本地没有pm2),一切都很好。使用pm2将其部署在基本的ubuntu服务器上,就无法访问api端点(未找到404)。
正如here所指出的,中间件不包括在.nuxt
构建中。因此,我也确保复制了api
目录(我的中间件所在的位置)。
对于pm2部署,ecosystem.config.js
module.exports = {
apps: [
{
name: 'App',
exec_mode: 'cluster',
instances: 'max',
script: './node_modules/nuxt/bin/nuxt.js',
args: 'start'
}
]
}
在nuxt.config.js
内部
serverMiddleware: [
{ path: '/api/contact', handler: '~/api/contact.js' }
]
由于只有通过pm2进行的部署失败,所以我认为其他文件并不重要。我假设这必须与某种pm2配置相关,才能找到api文件夹。
发布于 2022-06-15 09:13:37
在my answer here之后,这里也解决了这个问题。
您可能在nuxt.config.js
文件中丢失了什么
export default {
ssr: true,
target: 'server',
modules: [
'@nuxtjs/axios',
],
serverMiddleware: [
{ path: '/api', handler: '~/server-middleware/rest.js' },
],
}
https://stackoverflow.com/questions/72622129
复制相似问题