如何使用 heroku 设置 nodejs 请求"/>
如何使用 heroku 设置 nodejs 请求
我有一个 PERN react-native expo 应用程序,它当前具有如下配置的获取请求、来源和服务器端口(如下所示),这是我第一次使用 Heroku。我试图让我的应用程序与 heroku 一起工作,而不是依赖于我的本地机器,但是我在正确修改 url 时遇到了问题。
这就是我在没有 heroku 的情况下在我的 mac 上工作的方式,注释掉的行是我现在正在尝试的,因为我有一个 heroku 应用程序(使用示例名称):
在服务器/index.js中:
const io = new Server(server, {
cors: {
origin: "http://127.0.0.1:3000",
// origin: "",
credentials: true,
},
});
app.use(
cors({
origin: "http://127.0.0.1:3000",
// origin: "",
credentials: true,
})
);
server.listen(4000, () => {
console.log("server listening on port 4000");
});
在 app/components/LoginScreen.jsx(例如)中,我有:
fetch("http://127.0.0.1:4000/auth/login", {
// fetch(":4000/auth/login", {
method: "POST",
credentials: "include",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify(vals),
})
它不起作用。我知道我一定是在替换服务器、请求以及 index.js 中的源的 url 时做错了。对于每个部分,注释掉的部分是我尝试过的。解决这个问题的正确方法是什么?我已经配置了 heroku postgres 数据库并且可以正常工作,只是不了解如何使服务器部分正常工作,这样我的应用程序就不需要打开我的本地机器来拥有一个正常工作的服务器。
回答如下:替换这个
server.listen(4000, () => {
console.log("server listening on port 4000");
});
用这个
const port = process.env.PORT || 4000;
server.listen(port, () => {
console.log("server listening on port 4000");
});
并且不要忘记替换网址....
在 heroku 网站上还有一份文档,解释了在上传应用程序之前应该做什么。
编辑:- 如果你有任何问题,你可以访问 heroku 网站 https://devcenter.heroku/articles/deploying-nodejs
编辑:-
const io = new Server(server, {
cors: {
origin: "https://my-example-app.herokuapp",
credentials: true,
},
});
app.use(
cors({
origin: "https://my-example-app.herokuapp",
credentials: true,
})
);
const port = process.env.PORT || 4000;
server.listen(port, () => {
console.log("server listening on port " + port);
});
更多推荐
如何使用 heroku 设置 nodejs 请求
发布评论