Node.js 在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

我在Heroku上成功部署了我的应用程序。它在我的笔记本电脑上运行良好,但在其他设备上无法显示。我不知道我做错了什么

这是我的数据库设置

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。