繁体   English   中英

部署时next.js自定义服务器路由404错误

[英]next.js custom server routing 404 error on deployment

我的问题出在我的下一个js应用程序上,在我的联系人提交表单上,它可以在localhost上运行,但是当我现在在ziet上部署它,并去使用该表单时,它会返回404错误。

const express = require("express");
const process = require("process");
const bodyParser = require("body-parser");
const next = require("next");
var api_key = '--------------------------';
var domain = '---------------------------';
var mailgun = require('mailgun-js')({apiKey: api_key, domain: domain});

const dev = process.env.NODE_ENV !== "production";
const port = process.env.PORT || 3000;
const app = next({ dev });
const handle = app.getRequestHandler();

app
    .prepare()
    .then(() => {
        const server = express();

        server.use(bodyParser.json());
        server.use(bodyParser.urlencoded({ extended: true }));

        server.post("/api/contact", (req, res) => {
            res.send(req.body);
            const name = req.body.name;
      const email = req.body.email;
      var interest = req.body.interest;
      const message = req.body.message;

我应该返回200条消息,而不是404错误

您正在集中式快递服务器上定义路线! 大不对 Zeit完全是关于无服务器的未来,因此您应该真正在now.json文件中定义路由,然后将端点的逻辑放在单独的无服务器lambda函数中(每个端点最好为1 lambda)。

一开始很难让您无服务器化,但是有一些非常酷的优势。 这是Zeit提供的很棒的教程,可让您全面设置next.js / express应用: https ://zeit.co/guides/custom-next-js-server-to-routes

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM