@outplayedrq

Как я могу связать BackEnd с FrontEnd?

Добрый день, у меня есть такое вот дерево
602dffb50ef3d606355678.jpeg
На BackEnd-е запросы к базе данных, роуты через Express и так далее.
На Front-е, Webpack, который собирает React, Typescript, Less и статичные файлы.
Как я могу их связать, чтобы у меня роуты на BackEnd-е запускались с файлами из FrontEnd-а.
До меня не доходит, как я могу это реализовать.
Собирал Webpack в папку dist, далее запускал сервер на BackEnd-е ( На Front-е нет как такового сервера, поэтому пришлось просто собирать файлы в папку dist ). Далее прописал в роутах в Express путь до файла index.html в папке dist и запускал сервер на BackEnd-е, а там куча ошибок в консоле и не подгруженные файлы, которые прописываются Webpack-ом..
P.S. Больше всего работаю с BackEnd-ом, но надо же хоть какой-то Front с взаимодействием.
  • Вопрос задан
  • 4365 просмотров
Решения вопроса 1
@MadridianFox
Web-программист, многостаночник
Вам необходимо сделать так, чтобы какой-нибудь web-сервер раздавал файлы фронта.
Это может быть:
1) отладочный сервер прям во фронте: часто добавляют пакет, который позволяет выполнить команду вроде `yarn serve --port=3000`
2) express вашего бэка: там можно в пару строчек активировать раздачу статики изх указанной папки
3) отдельный web-сервер, например nignx: в продуктивной среде скорее всего именно он и будет заниматься раздачей статики

Кроме того, в зависимости от выбранного способа, вам надо будет понимать куда вы делаете запросы и как они идут до бэк.
Если вы запускаете отладночный сервер на порту 8080, а бэк на порту 3000, то ajax запросы вам надо делать на localhost:3000
Если вы используете nginx, то лучше настроить в нём проксирование, так чтобы все запросы на localhost:8080 на самом деле шли на localhost:3000.

Для локальной разработки рекомендую настроить бэк чтобы он раздавал статику
https://expressjs.com/ru/starter/static-files.html
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы