«Ошибка прокси-сервера React: не удалось запросить прокси-сервер / api / с localhost: 3000 на http: // localhost: 5000 (ECONNREFUSED)»? Ошибка .. Нет решения в Интернете

Я пытаюсь подключить свой реагирующий интерфейс к бэкэнду, я пробовал все, но он все еще не работает. Я добавил "proxy" : "localhost:5000" и не повезло. Я пытался

const { createProxyMiddleware } = require('http-proxy-middleware');

module.exports = function (app) {
    app.use(
        '/api',
        createProxyMiddleware({
            target: 'http://localhost:5000',
            changeOrigin: true,
        })
    );
};

и тоже не повезло. Кто-нибудь нашел решение проблемы. Я просмотрел весь стек

ОБНОВЛЕНИЕ: индексный файл

// Imports 
const express = require('express')
const app = express();
const cors = require('cors')
const mongoose = require('mongoose');
const bodyParser = require('body-parser')
const cookieParser = require('cookie-parser')
const config = require('./config/key')
const routes = require('./routes/api')
require('dotenv').config()
// -----Connect to the database
mongoose.connect(config.mongoURI,
    {useNewUrlParser: true,useUnifiedTopology:true,
    createIndexes : true}).then(()=>{
    console.log("Database connected")
}).catch((error)=>{
    console.log(error)
})

// ----setting up middleware 
const corsOptions = {
    origin:['http://localhost:3000'],
    credentials: true,
    optionsSuccessStatus: 200
}
app.use(cors(corsOptions))
app.use(bodyParser.urlencoded({extended : true}))
app.use(bodyParser.json())
app.use(cookieParser())
app.use('/api', routes);


// ---- Setting up server to listen on port 5000
app.listen(5000,()=>{
    console.log("App is running on 5000")
})

person Adil Khan    schedule 06.06.2020    source источник
comment
Можете ли вы поделиться индексом для API, который работает на порту 5000?   -  person onuriltan    schedule 06.06.2020
comment
@onuriltan, что ты подразумеваешь под индексом? это не позволяет мне поместить сюда весь файл, поэтому я обновлю свой пост.   -  person Adil Khan    schedule 06.06.2020
comment
попробуйте удалить changeOrigin из createProxyMiddleware или указать источник corsOptions в виде строки   -  person onuriltan    schedule 06.06.2020
comment
@onuriltan я понимаю это сейчас Response {type: "basic", url: "http://localhost:3000/movies/api/favorites", redirected: false, status: 500, ok: false, …}   -  person Adil Khan    schedule 06.06.2020


Ответы (2)


Обновите свой код до этого

const { createProxyMiddleware } = require("http-proxy-middleware");

module.exports = function (app) {
 
  app.use(
    createProxyMiddleware("/api/*", { target: "http://localhost:5000/" })
  );
};
person Mohammad Zuha Khalid    schedule 24.07.2020

Проблемой для меня был порт. Он был установлен на 5432, после изменения на 3002 снова работал. Не знаю почему, потому что, если порт уже использовался, узел должен выдать ошибку.

person Tales    schedule 06.11.2020