Как происходит совместная работа бэкенд- и фронтенд-разработчиков над большими проектами?
В разных компаниях это делают по-разному. Процитирую свой старый ответ на эту же тему, но про Django.
Есть три способа:Верстальщик делает для каждого типа страниц рыбу, бэкендер напяливает её на шаблонизатор. При дальнейших правках верстальщик правит рыбу, бэкендер правит шаблон. Плюс в простоте включения верстальщика в процесс, минус в дополнительной нагрузке на бэкендера. Хорошо подходит для привлечения верстальщиков со стороны.Поднимаете отдельный сервер для разработки. Настраиваете на нём FTP. Запускаете на нём нужные проекты, выдаёте права только на шаблоны. Запускаете верстальщика по FTP с chroot'ом в каталоге с проектами. Минус - нужен дополнительный сервер и понимание языка шаблонизатора со стороны верстальщика. Плюс - снижение нагрузки на бэкендера и возможность тестировать правки на живом проекте.На комп верстальщика ставится python и git. Верстальщик клонирует проект, запускает из корня проекта специально подготовленный батник, который активирует виртуальное окружение, ставит зависимости и запускает dev-сервер. Требует от верстальщика умения работать с git (а других нанимать и не надо), а от бэкендера делать нормальные приложения, которые не требуют долгих танцев с бубном для запуска.
Фронт и бэк оба на js, внутри одного проекта. Внутри папки src две папки: app для клиентского приложения и общего для фронта и бэка кода (сервер использует код клиента, но клиент не использует код сервера). На выходе и фронтендщиков и бэкендщиков постоянно актуальный единый проект, настроенный на одну базу данных, а они уже сосредотачиваются внутри своих папок.