node.js - 如何使用服务器和客户端文件夹结构将 React/Node 应用程序部署到 Heroku?
问题描述
所以我已经完成了我的第一个应用程序,我想将它部署到 Heroku,但我不断收到错误No default language could be detected for this app. 我读过你需要在你的根目录中有 package.json 。我的目录看起来像这样
应用文件夹
- 客户端 -> package.json + /public + /build 文件夹 + /src -> 所有反应组件
- 服务器 -> package.json + app.js(主文件)+ .env + db.js(数据库池)+ /routes 文件夹
- 有没有办法保持这个文件结构并且仍然成功部署它?
- 我也应该将 /build 文件夹提交到 github 吗?(它最初在 .gitignore 中)并在 /client 文件夹中创建,但是在我试图遵循的一些指南中,他们将其移至 /server 文件夹。我喜欢使用持续部署,因为我仍然需要测试响应 + 完成一些细节。
- 我也在使用 MySQL,我也可以在 Heroku 上托管我的数据库吗?
解决方案
好吧,我已经想出了如何用文件夹结构来克服这个问题。在 Heroku 上,转到Resources -> Add Buildpack ->你想从 github 添加一个名为subdir-heroku-buildpack的 gitpack ,作者是 timanovsky HERE。我在这个视频中找到了这个信息:VIDEO。
或者有一种使用git subtree的方法,但对于我这样的初学者来说,我发现第一种方法更容易。
同样对于前端部分和 MySQL 数据库,我使用 Heroku(数据库)和 Netlify(React 应用程序)成功部署了这两个视频:VIDEO2。它还展示了如何将后端上传到 Heroku,但使用的是传统的 heroku-way 文件夹结构。
推荐阅读
- javascript - 。地图(); 不显示完整数据
- python - 如何打印具有不同颜色的对象的坐标?Python3 OpenCV
- r - create a new variable in each iteration
- typescript - 给一个字符串一个类型
- c# - c# DataGridView DataTable 内部索引在并行循环中损坏
- css - vue cli 3 – 在样式标签中使用背景图片
- javascript - 谷歌浏览器扩展权限问题,带有谷歌文档(仅限)
- vb.net - 子报表增长到主报表不创建新页面
- android - TextView 中的水平居中文本不起作用
- php - 如何将 php、nodejs 和 mysql 应用程序部署到 IBM Cloud