Mern Stack客户端构建未部署在heroku上



我试了很多次都没有找到问题,需要帮助,请帮助任何人。当我在heroku上部署后端路由工作,但客户端构建静态不工作

这是我的github repo https://github.com/Tanvir-Niloy/Manobik_Narsingdi

Heroku主要用于制作服务器端api,因此您可以将其连接到客户端应用程序以使其具有服务器端。

From yourpackage.json

"scripts": {      
"start": "node server/server.js",
"server": "nodemon server/server",
"client": "npm start --prefix client",
"dev": "concurrently "npm run server" "npm run client"",
"heroku-postbuild": "NPM_CONFIG_PRODUCTION=false npm install --prefix client && npm run build --prefix client"
},

还有一个Procfile,内容为:web: node server/server.js

如果没有Procfile, Heroku就会执行web: npm start,这和web: node server/server.js是一样的。

但是从start脚本中可以看到,您没有执行您的客户端项目。你只是运行后端,但你不提供静态网站。

你要么需要在某个地方托管你的客户端项目(GitHub有一些解决方案:GitHub页面,netflix, Vercel,…),要么你需要从你的服务器项目中提供静态内容。你正在这么做,但到目前为止,你还在不断地修改代码:

app.use(express.static(Path.join(__dirname, '/client/build/static')))

在我看来,你这里有一个路径问题。假设构建文件放在client文件夹中,应该是'./../client/build/static'

共享build.log也有助于查看您的项目是否在Heroku上正确构建。