首页 > 解决方案 > Nuxtjs - 在本地工作时在生产中发布请求时出现错误 404

问题描述

我实际上是在尝试在个人项目中使用nuxt-mail ,

在我的开发阶段,我收到了所有的测试邮件。从那里我做了以下调整,以从我的构建站点执行完全相同的请求:

//nuxt.config.js
env: {
  baseUrl:
    process.env.NODE_ENV === 'dev'
      ? 'http://localhost:3000'
      : 'https://my-domain.netlify.app'
},

我使用“发送”功能时的代码:

this.$axios.$post(process.env.baseUrl + "/mail/send", {
        config: 'contact',
        from: document.getElementById('input-2').value,
        subject: document.getElementById('subject').value,
        text: "This is a text message",
      })

它继续与localhost/3000/mail/send一起正常工作,但是一旦我建立我的网站并使用https://my-domain.netlify.app/mail/send ,我就会遇到 404 错误:

POST https://my-domain.netlify.app/mail/send                             [HTTP/2 404 Not Found 186ms]
Uncaught (in promise) Error: Request failed with status code 404

我实际上正在努力解决这个问题,我错过了什么吗?

标签: axiosnuxt.js

解决方案


好吧,所以如果你targetstatic,你只能yarn generate
如果你有默认值,也就是target: server,你只能 yarn build.

然后,就像这里谈到的那样:使用 nuxt-mail 在 Nuxt.js 中发送邮件
您不能在静态环境中使用 Node.js 包,因此yarn generateNetlify 也不会在这里为您提供帮助。您需要将其托管在Herokuyarn build之类的东西上。

您可以做的最后一步是在本地尝试以下操作:

  • target: server
  • yarn build
  • yarn start
  • 使用 Postman 或类似方式拨打 POST 电话

如果它在这里不起作用,这是一个代码问题,您可以查看托管问题。
如果它在本地工作,您可以继续解决您将面临的托管问题。


推荐阅读