Javascript 盖茨比无服务器功能错误:找不到404

Javascript 盖茨比无服务器功能错误:找不到404,javascript,reactjs,gatsby,serverless,netlify-function,Javascript,Reactjs,Gatsby,Serverless,Netlify Function,我一直在尝试在我的盖茨比网站上设置一个无服务器发送电子邮件的功能。该函数正在托管,但每当我尝试获取它时,它都会告诉我它不存在 我的回执: const body = { name, email, phone, message, }; fetch(`http://localhost:8000/.netlify/functions/sendMail`, { method: "POST", headers: { "Content-Type&

我一直在尝试在我的盖茨比网站上设置一个无服务器发送电子邮件的功能。该函数正在托管,但每当我尝试获取它时,它都会告诉我它不存在

我的回执:

const body = {
  name,
  email,
  phone,
  message,
};

fetch(`http://localhost:8000/.netlify/functions/sendMail`, {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(body),
})
  .then((res) => console.log(res.data))
  .catch((err) => console.error(err));
gatsby config.js中的中间件

developMiddleware: (app) => {
  app.use(
    "/.netlify/functions/",
    createProxyMiddleware({
      target: "http://localhost:8000",
      pathRewrite: {
        "/.netlify/functions/": "",
      },
    })
  );
},
功能路径:

    • 功能
      • 发送邮件
        • 节点单元
        • package.json
        • sendMail.js
        • 纱线锁

我认为这与我在
fetch()
函数中使用的url有关。

如果您使用
netlify lambda-serve
在开发中编译和服务您的函数,您需要将
目标设置为
netlify lambda
侦听器绑定的端口,默认值为
9000
。现在,您正在重定向到端口
8000
,该端口似乎是您的盖茨比应用程序正在运行的端口

例如,您希望您的设置看起来更像这样:

//将Netlify函数请求转发到`Netlify lambda`服务器
//当开发服务器运行时。
开发软件:应用=>{
应用程序使用(
“/.netlify/functions/”,
代理({
目标:“http://localhost:9000", //