【问题标题】:Nuxt server middleware with generate带生成的 Nuxt 服务器中间件
【发布时间】:2021-03-24 01:41:48
【问题描述】:

我想我误解了 nuxt 服务器中间件。我有一个带有单个文件的 api 目录,该文件启动 express 并将记录写入 mysql 数据库。一切都按预期在 dev 中运行,但是在 nuxt 生成之后,该端点总是返回 404。

您可以将 nuxt generate 与在服务器上运行的内部 API 一起使用吗?我会使用 axios 来达到这个端点的价值,但我怀疑这会有所作为。

来自 Nuxt 配置:

{
  target: static, 
  serverMiddleware: [{ path: '/api', handler: '~/api/index.js' }]
}

【问题讨论】:

    标签: express vue.js nuxt.js server-side-rendering


    【解决方案1】:

    服务器中间件基本上允许您在服务器上运行您自己的代码 nuxt 在target: 'server' 模式下为您旋转。因此,您的方法在静态模式下不起作用,因为没有服务器运行您的中间件。您只提供静态文件。在开发模式下,您在本地运行服务器,这就是您的中间件在那里正常工作的原因。

    要让它在生产中工作,您有两种选择:

    • target: 'server' 模式运行nuxt,而不是生成静态文件
    • 单独启动您的 express 服务器,而不是在 nuxt 中使用服务器中间件

    希望您现在了解服务器中间件的工作原理,并为您的项目做出正确的决定!

    【讨论】:

    • 谢谢弗洛里安,明白了。但是,现在我如何在没有 dist 目录的情况下运行该站点?它说在本地主机上侦听,但我希望它从 mynuxtsite.com 之类的本地虚拟主机运行?
    • @MattKaye 我想你的意思是说“没有 dist 目录”以target: 'server'; 模式运行。我没有设置虚拟主机的经验,但你可以看看docs
    猜你喜欢
    • 2021-10-01
    • 2020-05-13
    • 1970-01-01
    • 2016-06-24
    • 1970-01-01
    • 2021-04-18
    • 2021-05-11
    • 2022-01-08
    • 2013-02-27
    相关资源
    最近更新 更多