我们的项目现已结束,我们只有两周的时间来回馈大学最后一年的学习项目。我们的老师告诉我们,现在开发阶段已经结束,我们必须将其部署到生产阶段。
我们使用ReactJS作为前端(托管在localhost:// 3000中)和NodeJS用于服务器/数据库管理(托管在localhost:// 3004中)。
到目前为止,我已经做了一些研究如何部署它(老师说理想情况下它是一个拉链,我们可以插入网页,就像一个HTML,它会工作)。
到目前为止,我还没有成功。很多人建议使用“webpack”进行管理,但我们最初没有对它进行配置,因为我们对reactJS没有任何线索,我不知道我们现在是否可以做到。我已经阅读了教程等,并尝试了NODE_ENV的一些东西,但到现在为止我遇到了错误。
任何人都可以帮助我吗?我的队友?
提前致谢!
答案 0 :(得分:2)
要使用cli "traveled":{
"$gt":[
{"$size":{
"$filter":{
"input":"$content",
"as":"c",
"cond":{
"$and":[
{"$eq":["$$c.item",passengerId]},
{"$eq":["$$c.kind","User"]}
]
}
}
}},
0
]
}
部署反应式应用构建,首先需要在create-react-app
中设置主机,因此在package.json
添加此行
package.json
您的"homepage":"http://localhost/" ,assuming you will host your app on the root directory of your webserver
看起来像这样
package.json
然后在您的app文件夹中运行此命令
{
"name": "nameofyourapp",
"version": "0.1.0",
"private": true,
"homepage":"http://localhost/",
"dependencies": {
.....
},
"scripts": {
......
}
}
然后复制build文件夹中的内容并将其粘贴到serveur的根目录中 你最终会得到像这样的文件
npm run build
之后您无法通过浏览器访问您的网络服务器:http://localhost/
答案 1 :(得分:1)
我假设你使用create-react-app来生成你的反应项目。我的文件夹结构如下:
我曾经将我的应用程序部署到Heroku的步骤:
在package.json中,将此行添加到脚本"heroku-postbuild":
"NPM_CONFIG_PRODUCTION=false npm install --prefix client && npm run
build --prefix client"
。
然后在脚本之后添加了此"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"));
});
}
我假设您使用git进行版本控制并已安装heroku。打开你的终端,然后打开heroku登录 - > Heroku的 创建 - > git push heroku master。如果您没有收到任何错误, 您成功部署了应用程序。
这是我将我的应用程序部署到Heroku的我的GitHub https://github.com/dnp1204/instagrom。我希望它会让你知道如何做到这一点
希望你能让它发挥作用!
答案 2 :(得分:0)
在2019年,这确实对我有用:
在node.js服务器中:
app.use('/react', express.static(path.join(__dirname, '../client/build')));
package.json中的反应
http://localhost:server-port/client
然后在浏览器中输入
http://localhost:server-port/client .
您现在应该看到反应主页。 希望对某人有所帮助。