Причина, по которой вы получаете ошибку http://localhost: 3000 не разрешена Access-Control-Allow-Origin из-за той же политики происхождения функция безопасности, которая ограничивает ваш сценарий реакции от доступа к вашему серверу и связи с ним, поскольку они имеют различное происхождение . Обратите внимание, что для документов или сценариев, которые рассматриваются как имеющие одно и то же происхождение , они должны иметь одинаковый протокол (например, http / https), имя хоста (например, localhost / www.my-server.com) и порт . В вашем случае сценарий реагирования запускается на порту 3000, в то время как сценарий express выполняется на порте 5000, поэтому возникает ошибка.
Чтобы решить эту проблему, необходимо включить CORS - Cross Origin Resource Sharing в коде вашего сервера. Сначала установите зависимость cors с помощью команды
npm install cors
Затем обновите код на своем сервере, чтобы он выглядел следующим образом:
const express = require('express')
const path = require('path')
const cors = require('cors')
const app = express()
app.use(cors())
const PORT = process.env.PORT || 5000
app.listen(PORT, () => {
console.log(`Server started on port ${PORT}`)
})
app.use(express.static(path.join(__dirname, "public")))
Надеюсь, это работает для вас.