我们的项目现已结束,我们只有两周的时间将项目退还给我们在大学的最后一年的学习。我们的老师告诉我们,现在开发阶段已经结束,我们必须在生产阶段进行部署。
我们将ReactJS用于前端(托管在localhost:// 3000中),将NodeJS用于服务器/数据库管理(托管在localhost:// 3004中)。
到目前为止,我已经对 如何部署 进行了一些研究(老师说,理想情况下,它是一个zip文件,我们可以将其插入到网页中,就像html一样,并且可以正常工作)。
到目前为止,我还没有做到这一点。许多人建议使用“ webpack”来管理它,但是我们一开始就没有配置它,因为我们对reactJS毫无头绪,而且我不知道我们现在是否可以这样做。我已经阅读了教程等,并尝试使用NODE_ENV进行某些操作,但直到现在我仍然遇到错误。
谁能帮助我和我的队友?
提前致谢!
我假设您使用create-react-app来生成您的react项目。我的文件夹结构如下:
接下来,我将应用程序部署到Heroku:
在package.json中,将此行添加到脚本中"heroku-postbuild": "NPM_CONFIG_PRODUCTION=false npm install --prefix client && npm run build --prefix client"。
"heroku-postbuild": "NPM_CONFIG_PRODUCTION=false npm install --prefix client && npm run build --prefix client"
然后"engines": { "node" : "[your node version]" }在脚本之后添加此内容。
"engines": { "node" : "[your node version]" }
在index.js中,将以下代码放在路由设置之后
if (process.env.NODE_ENV === "production") { app.use(express.static("client/build")); const path = require("path"); app.get("*", (req, res) => { res.sendFile(path.resolve(__dirname, "client", "build", "index.html")); }); }
这是我将我的应用程序部署到Heroku的GitHub https://github.com/dnp1204/instagrom。我希望它会给你一些思路
希望你能成功!