@Persotr27

Как укомплектовать Node + React приложение в общий Workspace?

Всем привет.
Не знаю как корректно сформулировать свою потребность, но мне нужно создать Web-приложение с React.js на фронте, и Node.js (Express.js) на бэке. Необходимо, чтобы эта сборка считалась единым целым приложением и находилась в одной папке. Также, чтобы можно было запушить в один git репозиторий и задеплоить на единый хостинг (как единый целый апп).
Нужно ли вообще так поступать, или проще стоит создать два отдельных приложения для фронта и бэка? И если да, то как такое реализовать?
  • Вопрос задан
  • 197 просмотров
Решения вопроса 1
@iamsergo
Чтобы создать все в одной папке, можно сделать следующим образом:
1. Написать фронтенд на react.
2. Написать бекенд на node.

После чего, собрать frontend с помощью webpack (он соберется в папку public, точно не помню).
Далее в node возвращать как статику эту папку : app.use(express.static('path.resolve(__dirname,'./public')))
Далее, я заливал на heroku и все работало.

Чтобы реализовать в двух папках, можно сделать так:
1. Написать фронтенд в одной папке.
2. Написать бекенд в другой.

Соединятся они будут по api - из приложения react шлете запросы на бекенд, получаете данные, работаете с ними:
BASE_URL = 'heroku.com/app/my-app-1233'
fetch(`${BASE_URL}/api/todos/1')

Размещаете отдельно фронетнд, отдельно бекенд.
Я размещал фронетенд на github-pages, бекенд на heroku.

Возможно, я где-то ошибаюсь, но суть точно такая.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
inoise
@inoise
Solution Architect, AWS Certified, Serverless
Зависит от сложности. С маленькими проектами можно поступать как угодно. С большими - придётся разделять в любом случае
Ответ написан
Комментировать
7GIT
@7GIT
Разделяй и властвуй.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы