Node.js 在Heroku上成功部署了我的应用程序,但未显示其他设备
我在Heroku上成功部署了我的应用程序。它在我的笔记本电脑上运行良好,但在其他设备上无法显示。我不知道我做错了什么 这是我的数据库设置Node.js 在Heroku上成功部署了我的应用程序,但未显示其他设备,node.js,reactjs,postgresql,express,heroku,Node.js,Reactjs,Postgresql,Express,Heroku,我在Heroku上成功部署了我的应用程序。它在我的笔记本电脑上运行良好,但在其他设备上无法显示。我不知道我做错了什么 这是我的数据库设置 require("dotenv").config(); const sequelize = require("./node_modules/sequelize"); const con = new sequelize(process.env.DATABASE_URL, { dialect: "postgres", protocol: "postgr
require("dotenv").config();
const sequelize = require("./node_modules/sequelize");
const con = new sequelize(process.env.DATABASE_URL, {
dialect: "postgres",
protocol: "postgres",
dialectOptions: {
ssl: true
}
});
const Person = con.define("person", {
image: {
type: sequelize.STRING,
allowNull: false
},
firstname: {
type: sequelize.STRING,
allowNull: false
},
lastname: {
type: sequelize.STRING,
allowNull: false
},
email: {
type: sequelize.STRING,
allowNull: false,
validate: {
isEmail: true
}
}
});
const Post = con.define("post", {
title: { type: sequelize.STRING },
content: { type: sequelize.STRING },
personid: { type: sequelize.INTEGER, foreignKey: true }
});
const Parent = con.define("parent", {
father: { type: sequelize.STRING },
mother: { type: sequelize.STRING },
personid: { type: sequelize.INTEGER }
});
con.sync({ force: true });
module.exports = con;
web: node server.js
这是我的节点js服务器设置。
const express = require("express");
const app = express();
const graphqlHTTP = require("express-graphql");
const schema = require("./schema");
const cors = require("cors");
const path = require("path");
app.use(cors());
app.use(
"/graphql",
graphqlHTTP({
schema,
pretty: true,
graphiql: true
})
);
app.use(express.static("build"));
app.get("*", (req, res) => {
res.sendFile(path.resolve(__dirname, "build", index.html));
});
const port = process.env.PORT || 8081;
app.listen(port, () =>
console.log(`✅ Example app listening on port ${port}!`)
);
这是我的程序文件设置
require("dotenv").config();
const sequelize = require("./node_modules/sequelize");
const con = new sequelize(process.env.DATABASE_URL, {
dialect: "postgres",
protocol: "postgres",
dialectOptions: {
ssl: true
}
});
const Person = con.define("person", {
image: {
type: sequelize.STRING,
allowNull: false
},
firstname: {
type: sequelize.STRING,
allowNull: false
},
lastname: {
type: sequelize.STRING,
allowNull: false
},
email: {
type: sequelize.STRING,
allowNull: false,
validate: {
isEmail: true
}
}
});
const Post = con.define("post", {
title: { type: sequelize.STRING },
content: { type: sequelize.STRING },
personid: { type: sequelize.INTEGER, foreignKey: true }
});
const Parent = con.define("parent", {
father: { type: sequelize.STRING },
mother: { type: sequelize.STRING },
personid: { type: sequelize.INTEGER }
});
con.sync({ force: true });
module.exports = con;
web: node server.js
在阅读了几篇文章之后,到目前为止,我理解这是因为heroku cors的设置。但我不知道如何在Heroku上启用cors设置
这是我的heroku应用程序链接:
https://apask.herokuapp.com/
在heroku it上部署时,可以将其添加到服务器
const PORT = process.env.PORT || 5000;
const HOST = '0.0.0.0';
const server = app.listen(PORT, HOST, function () {
logger.info("Server running on: " + HOST + ":" + PORT)
process.on('SIGINT', function() {
server.close();
});
});
在heroku中不需要任何配置COR。您只需要学习如何在express中使用cors。