如何在Heroku上部署nextjs和nodejs,而不在客户端/前端使用npm运行构建



所以,我不想构建我的nextjs,因为它会破坏连接到后端的代码。我不确定你是否得到了它,它就是这样…如果我用npm运行构建启动heroku,前端和graphql功能很好,但它没有连接到后端。。。

这是我的package.json:

{
...
"scripts": {
"f": "next dev",
"backend": "cd backend && npm run s --prefix backend",
"build": "next build",
"start": "next start",
"heroku-postbuild": "NPM_CONFIG_PRODUCTION=false npm install --prefix backend && npm run build"
},
...
...
"engines": {
"node": "14.x",
"npm": "7.16.0"
}

我的项目结构是nextjs project > backend folder > backend files

当我删除";npm运行构建";从heroku postbuild脚本中,网站不再显示客户端,而是显示一个错误,说明";heroku尾原木;某物我有很多网站托管在nginxvps上,制作nextjs和nodejs项目,但我想使用heroku,因为这个网站真的不值得vps的费用。

有可能做到这一点吗?

详细信息:

  • 我在mac上
  • 我在终端中使用brew安装了heroku
  • 我运行了heroku/nodejs的构建包
  • 我用了heroku-cli的方法
  • 我正确地遵循了git的指示
  • 我的端口在后端为5001
  • 当我转到网站url:5001/graphql时,它会给我错误。。。是的,我把所有代码都改成了网址,而不是本地主机

尝试使用docker,为后端公开一个端口,为前端公开另一个端口。你可以使用nginx,它将运行在linux镜像的顶部

最新更新