Мое приложение успешно развернуто на Heroku, но другие устройства не отображаются. - PullRequest
0 голосов
/ 08 января 2020

Я успешно развернул свое приложение на 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;

Это мои Node 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}!`)
);

Это моя настройка Procfile

web: node server.js

После прочтения пары статей, насколько я понимаю, это из-за настроек сердцевины героя. Но я не знаю, как включить настройку cors на Heroku.

Это моя ссылка на приложение heroku: https://apask.herokuapp.com/

1 Ответ

0 голосов
/ 08 января 2020

При развертывании на герою, вы можете добавить это на свой сервер.

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();
  });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...