gpt4 book ai didi

express - 如何在 Heroku 的两个不同端口上同时部署 Next.js 和 Express 服务器

转载 作者:行者123 更新时间:2023-12-02 02:52:34 25 4
gpt4 key购买 nike

这是我目前面临的部署挑战。我在谷歌上进行了相当广泛的搜索,并尝试了一些但没有成功。

我有应用程序 A,它使用 express 作为服务器在端口 5000 提供服务。然后我有应用程序 B,用户 Next 作为服务器在端口 3000 提供服务。我写了一些代码将这两个应用程序集成为一个,然后我'我试图将它部署到 Heroku 上。我不断遇到部署失败。这是我的 package.json:

"scripts": {
"start": "concurrently \" npm run dev \" \" next \" ",
....

最佳答案

或者,您可以使用 Next.js 的 Custom Server functionality .只需先定义您的 API 路由,然后将 expressApp.all('*', nextHandler) 放在末尾,以便 Next 捕获您的 API 端点未捕获的所有内容。

const express = require('express');
const next = require('next');

const APIRouter = require('./routes');

const dev = process.env.NODE_ENV !== 'production';
const hostname = 'localhost';
const port = 3000;

const nextApp = next({dev, hostname, port});
const nextHandler = nextApp.getRequestHandler();

const expressApp = express();

nextApp.prepare().then(() => {
expressApp.use(APIRouter());
expressApp.all('*', nextHandler);
expressApp.listen(port, () => {
console.log(`App listening on port ${port}`);
});
});

关于express - 如何在 Heroku 的两个不同端口上同时部署 Next.js 和 Express 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51434628/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com