You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Aug 7, 2024. It is now read-only.
目的
在 heroku 上部署 React App 的展示页,并且这个 React App 需要 node 来做转发。
思考
基本的 heroku 配置可以直接参照 文档。
如果是不需要 node 来做转发的单纯的 react 项目,可以直接参照官方文档的 Deploying React with Zero Configuration,顺便附上 GitHub项目地址。
但是需要 node 做转发的项目,这个老哥同样给出了解决方案:heroku-cra-node。
下面来分析一下究竟是如何配置的。
分析
先放上目录结构
简单来说,就是外面的 package.json 对 node 的包,react-ui 文件夹对应的是整个 react 项目。
外面的 package.json
在我的项目中外面的 package.json 如下
对 heroku 起作用的是以下两句
heroku 在检测到这是一个 nodejs 项目后,会自动执行
npm start
,开启转发服务这里的
heroku-postbuild
用到了 npm 的post-
钩子,在安装完依赖后,在npm start
之前,heroku 环境下应该会执行npm run heroku
,此时会调用heroku-postbuild
这个命令。官方解释 在此还有
根据 文档,作用是在 heroku 上缓存下载好的 npm 包,就不必每次更新的时候再重新
npm i
了server/index.js
重点是这两句话,第一句是指定端口,如果是在 heroku 中部署的话,端口是动态分配的,所以要使用
process.env.PORT
,本地的话自动变为 8081。第二句是指定静态文件的位置。
总结
把上述文件配置好之后,推送到 heroku,再
heroku open
就可以啦。The text was updated successfully, but these errors were encountered: