Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 部署包含Next.js+;Heroku的快速应用程序_Node.js_Reactjs_Express_Heroku_Next.js - Fatal编程技术网

Node.js 部署包含Next.js+;Heroku的快速应用程序

Node.js 部署包含Next.js+;Heroku的快速应用程序,node.js,reactjs,express,heroku,next.js,Node.js,Reactjs,Express,Heroku,Next.js,我正在跟随Ben Awad的绝妙之作建立一个完整的堆栈 使用Next.js、Express、Typescript和GraphQL的应用程序。本地的一切工作都很顺利,但我在尝试部署到Heroku时遇到了一系列问题。我真的希望将服务器和客户端作为一个应用程序部署到Heroku,并让Express作为前端文件和后端 monorepo - web - package.json - server - package.json package.json 据我所知,这可以使用Ne

我正在跟随Ben Awad的绝妙之作建立一个完整的堆栈 使用Next.js、Express、Typescript和GraphQL的应用程序。本地的一切工作都很顺利,但我在尝试部署到Heroku时遇到了一系列问题。我真的希望将服务器和客户端作为一个应用程序部署到Heroku,并让Express作为前端文件和后端

monorepo
  - web
     - package.json
  - server
     - package.json
package.json
据我所知,这可以使用Next的自定义服务器选项实现,我已经将其集成到我的server.js文件中。我的问题是,当部署到Heroku时,它没有检测到React作为后端的依赖项,因此当部署成功时,当我尝试在浏览器中访问它时,应用程序崩溃。我尝试了一些方法来解决这个问题——在前端和后端分别有两个React副本,这只会导致更多的问题(可以理解)。我曾尝试保留一份副本,并使用npm链接指向该模块,但它只在本地起作用。我也尝试过更改网页包配置,但它似乎没有注册。我尝试在前端将自定义服务器定义为一个util并将其导入server.js,但导入始终未定义,这很有意义,因此我将其移回

我还是个新手,对Next.js的工作原理有很多误解,尤其是在与自定义服务器结合使用时,所以我可能做了一些根本错误的事情。我有没有遗漏什么,或者最好将应用程序拆分为两个Heroku应用程序,并在每个应用程序中插入一个子树? 可以找到源代码,但我可能会回滚,因为它已经变得非常混乱


我知道还有其他方法可以做到这一点,但我现在还不想放弃。

你有没有想过?我们如何获得更多的支持/视图?我和你的处境非常相似,而且没有可靠的文档说明如何推动包含nextjs前端和express后端的回购。@MatthewWolman不幸的是,我从未设法弄清楚。最后,我分别使用Dokku和DigitalOcean将后端托管在自定义域上,将前端托管在Vercel上。我之前在Heroku上部署了一个fullstack React应用程序,非常简单;我以为Nextjs也会如此——我错了。我不知道如何才能获得更多的意见,但我很高兴以任何方式支持,因为我仍然很好奇,并希望了解如何实现这一点。对不起,我帮不上忙了!没问题,伙计。我也为此发布了一个问题,但没有得到多少回复。不过,我可以告诉您的是,最新版本的next.js有一个内置的路由api,您可以轻松访问。我本想像你一样把这两个分开,但我发现了这个信息,这真的很方便。它无论如何都不健壮,所以它只适用于不太复杂的api。下面是Next.js对它的正式介绍