express + реагировать CORS на Heroku - PullRequest
0 голосов
/ 09 мая 2020

Это ошибка:

Access to XMLHttpRequest at 'http://cheapandnice-backend.herokuapp.com/api/products/list' 
from origin 'http://cheapandnice.herokuapp.com' has been blocked by CORS policy: No 'Access- 
Control-Allow-Origin' header is present on the requested resource.

Но я уже включил источник в cors :

const app = express();
app.use(
  cors({
    origin: process.env.ORIGIN,
    optionsSuccessStatus: 200,
    credentials: true,
  })
);

process.env.ORIGIN is http://cheapandnice.herokuapp.com

Я пробовал использовать heroku local , который, как мне кажется, запускает код на heroku локально, и все работает нормально. Что касается моего клиента, я обслужил файлы локально с помощью "yarn build", а затем "serve -d build" , и он работает.

Однако это то, что я получаю, когда запускаю heroku restart и логи heroku --tail

2020-05-09T01:57:28.971077+00:00 heroku[web.1]: Restarting
2020-05-09T01:57:28.987996+00:00 heroku[web.1]: State changed from up to starting
2020-05-09T01:57:35.626755+00:00 app[web.1]: Server is running on port 41637
2020-05-09T01:57:35.629379+00:00 app[web.1]: [db] Cannot read property 'split' of null
2020-05-09T01:57:36.571910+00:00 heroku[web.1]: State changed from starting to up

и когда делаю запрос

2020-05-09T02:00:04.559800+00:00 heroku[router]: at=error code=H12 desc="Request timeout" 
method=GET path="/api/products/list" host=cheapandnice-backend.herokuapp.com 
request_id=98822b44-b339-48ec-b33d-c7dd91e8a380 fwd="186.168.187.244" dyno=web.1 connect=1ms 
service=30000ms status=503 bytes=0 protocol=http

я использую Mon go Atlas

1 Ответ

0 голосов
/ 09 мая 2020

Хорошо, оказывается, это не проблема CORS. Heroku logs --tails показывает это

2020-05-09T01:57:35.629379+00:00 app[web.1]: [db] Cannot read property 'split' of null

Я помещаю простые кавычки, когда настраивал свои переменные ENV в heroku

'mongodb+srv://...'

Я удалил кавычки, и он работает сейчас

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...