如何解决Mern Stack 客户端构建未部署在 heroku 上
我尝试了很多次但找不到问题需要银色帮助请帮助任何人。当我部署在 heroku 后端路由上工作但客户端构建静态不起作用
这是我的 github 仓库 https://github.com/Tanvir-Niloy/Manobik_Narsingdi
解决方法
Heroku 主要用于制作服务器端 api,因此您可以将其连接到您的客户端应用程序以使其具有服务器端。
,来自您的package.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 页面、Netlify、Vercel 等),要么您需要从您的服务器项目中提供静态内容。您正在这样做,但截至目前,您仍在不断更改代码:
app.use(express.static(Path.join(__dirname,'/client/build/static')))
在我看来,您的路径似乎存在问题。假设构建文件位于 './../client/build/static'
文件夹中,则应为 client
。
共享 build.log
还有助于查看您的项目是否在 Heroku 上正确构建。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。