Я вижу, что у вас запущенный CRA.Это означает, что когда вы запускаете npm run start
из папки create-реагировать на приложение, вы должны иметь реакцию на порт 3000, порт по умолчанию.
Сначала я бы порекомендовал хранить ваш серверный и клиентский код в отдельной папке.с отдельными файлами package.json
Теперь предположим, что у вас есть этот код в /server/index.js
Это прямо из экспресс-примера, но маршрут начинается с /api
и также будет работать на порту 5000
.Это очень важно, и вы поймете, почему через минуту.
const express = require('express');
const app = express();
app.get('/api/hello', (req, res) => res.send('Hello World!'))
app.listen(5000, () => console.log('Example app listening on port 5000!'))
Теперь вернитесь в вашу папку /client
, где я буду считать, что ваш CRA, откройте package.json и добавьте следующие строки:
"proxy": {
"/api/*": {
"target": "http://localhost:5000"
}
},
Попробуйте сейчас сделать вызов, чтобы сервер реагировал с axios, например:
const helloFromApi =
axios
.get('/api/hello')
.then(res => res.data);
Надеюсь, это поможет