首页 > 解决方案 > 如何在同一 localhost 端口上使用 Express 服务器后端托管 NextJS 应用程序

问题描述

我正在尝试将使用 React 构建的 NextJS 应用程序托管在与我的 express api-server 后端相同的 localhost 端口上。

在我的快速服务器 api 设置中,我已将我的 api 服务器设置为监听:

http://localhost:3000/graphql

我怎样才能设置它,这样当我去的时候localhost:3000我也可以看到前端。

现在我收到一个错误:

Cannot GET /

我知道我不能使用"proxy":"localhost:3000/graphql"如何使用 NextJS 来做到这一点?

标签: javascriptreactjsexpressnext.js

解决方案


您可以使用rewriteskey in next.config

module.exports = {
  async rewrites() {
    return [
      process.env.NODE_ENV === 'development' && {
        source: '/graphql',
        destination: 'localhost:3000/graphql',
      },
    ].filter(Boolean);
  },
}

只需在任何其他端口上启动 Next.js,所有请求都/graphql将被重定向到localhost:3000/graphql


推荐阅读