Reactjs MERN应用程序在本地工作,但在Heroku上中断
我正试图部署到Heroku。Heroku建造得很好,站点是实时的。然而,Heroku站点上的代码有一大堆问题,当我在计算机上本地运行站点时,这些问题不会发生。这让我相信我的站点部署不正确,这次我想学习如何正确部署它 我想问题可能是我设置的代理服务器Reactjs MERN应用程序在本地工作,但在Heroku上中断,reactjs,express,heroku,mern,Reactjs,Express,Heroku,Mern,我正试图部署到Heroku。Heroku建造得很好,站点是实时的。然而,Heroku站点上的代码有一大堆问题,当我在计算机上本地运行站点时,这些问题不会发生。这让我相信我的站点部署不正确,这次我想学习如何正确部署它 我想问题可能是我设置的代理服务器(setupProxy.js): 我想不出还有什么能引起Heroku上所有的bug。我真的很感激能提供的任何帮助,因为我已经处理这个问题一段时间了。谢谢您的时间。您不能在Heroku上使用这样的反向代理。它只给你一个端口,你不能选择它。要么将前端代码作
(setupProxy.js)
:
我想不出还有什么能引起Heroku上所有的bug。我真的很感激能提供的任何帮助,因为我已经处理这个问题一段时间了。谢谢您的时间。您不能在Heroku上使用这样的反向代理。它只给你一个端口,你不能选择它。要么将前端代码作为静态文件从后端运行(前端代码实际上不需要在Node.js下运行;只需构建一个dist),要么运行两个独立的服务。@Chris我感到困惑的是,我以为我已经处理好了所有“静态文件”的内容。我目前依靠以下脚本在Heroku上构建站点:
“Heroku postbuild”:“NPM\u CONFIG\u PRODUCTION=false NPM install--prefix client&&NPM run build--prefix client”
。client
脚本是“client”:“npm开始——前缀client”
;客户端文件夹包含所有前端代码。(heroku postbuild脚本从存放所有Express后端内容的目录运行。)
const { createProxyMiddleware } = require('http-proxy-middleware');
module.exports = function(app) {
app.use(
'/api',
createProxyMiddleware({
target: 'http://localhost:5000',
changeOrigin: true,
})
);
};