Развернуло мое приложение на heroku, но получил ошибку: не удалось загрузить ресурс: net :: ERR_CONNECTION_REFUSED - PullRequest
0 голосов
/ 06 января 2020

Внешний интерфейс моего приложения Reactjs, а внутренний Node js. Я использовал express сервер и graphql- express сервер. Я успешно развернул свое приложение. Но начинается с загрузки данных, а затем ничего не показывает. Но если я запускаю локально npm start, приложение heroku начинает работать.

Это ошибка, которую я получаю в браузере

enter image description here

Это файл пакета моего сервера json. Если я бегу в терминале npm, запустите dev. Откроется приложение моей реакции js.

    {
  "name": "backend",
  "version": "1.0.0",
  "description": "personish vol 2",
  "main": "server.js",
  "scripts": {
    "start": "node server.js",
    "server": "node server.js",
    "client": "npm start --prefix client",
    "dev": "concurrently \"npm run server\" \"npm run client\""
  },
  "author": "Alak",
  "license": "ISC",
  "dependencies": {
    "concurrently": "^5.0.2",
    "cors": "^2.8.5",
    "express": "^4.17.1",
    "express-graphql": "^0.9.0",
    "graphql": "^14.5.8",
    "pg": "^7.15.1",
    "pg-hstore": "^2.3.3",
    "sequelize": "^5.21.3"
  }
}

Это пакет моей реакции json

{
  "name": "client",
  "version": "0.1.0",
  "private": true,
  "engines": {
    "node": "13.3.0",
    "npm": "6.13.0"
  },
  "dependencies": {
    "@testing-library/jest-dom": "^4.2.4",
    "@testing-library/react": "^9.3.2",
    "@testing-library/user-event": "^7.1.2",
    "apollo-boost": "^0.4.7",
    "axios": "^0.19.0",
    "firebase": "^7.6.1",
    "graphql": "^14.5.8",
    "pg": "^7.15.1",
    "react": "^16.12.0",
    "react-apollo": "^3.1.3",
    "react-dom": "^16.12.0",
    "react-dropzone": "^10.2.1",
    "react-redux": "^7.1.3",
    "react-redux-firebase": "^3.0.5",
    "react-router-dom": "^5.1.2",
    "react-scripts": "3.3.0",
    "redux": "^4.0.4",
    "redux-firestore": "^0.11.0",
    "redux-thunk": "^2.3.0"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": "react-app"
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  }
}

Это мой express и graphql- express server.

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(path.join(__dirname, "build")));

app.get("/*", (req, res) => {
  res.sendFile(path.join(__dirname, "build", "index.html"));
});

const port = process.env.PORT || 8081;
app.listen(port, () =>
  console.log(`✅  Example app listening on port ${port}!`)
);

Это файл приложения моей реакции. Где я использую Apollo Boost для соединения с приложением реаги и node js приложением. Я думаю, что ошибка отсюда, не знаю, как ее исправить

import React from "react";
import { ApolloClient, HttpLink, InMemoryCache } from "apollo-boost";
import { ApolloProvider } from "react-apollo";
const client = new ApolloClient({
  link: new HttpLink({
    uri: "http://localhost:8081/graphql"
  }),
  cache: new InMemoryCache()
});

Это мое приложение heroku

https://databaseapp2020.herokuapp.com/

1 Ответ

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

у вашего heroku dyno / app будет имя, вы будете использовать его, чтобы поразить свой график, скажем, площадкой graphiql на вашем ноутбуке или вашим реагирующим приложением ... если ваше приложение heroku на самом деле было названо databaseapp2020 и запущено, то вы будет использовать следующее при условии, что ваши cors были правильно настроены в переменных среды dyno

https://databaseapp2020.herokuapp.com/graphql

...