Как правильно построить архитектуру на express & angular (API)?
Добрый день!
Подскажите, пожалуйста, несколько моментов:
1. Как мне сделать так, чтобы можно было вынести такое как Админ панель на уровень выше? (admin.site.com)
С помощью чего это делается и как сделать лучше? Angular с этим не справится, я так понимаю. Это нужно либо на express'e делать переадресацию на отдельный "сайт" (польностью автономный), либо как-то по-другому, что бы все было вместе.
2. Касательно API. Во всех видео уроках что я видел, там API полностью открыт и кто угодно может получить информацию из базы данных вне Angular.js. правильно ли это, или люди, как правило, защищают каким-то образом свой API и дают только доступ к нему через запросы с Angular?
3. Как правильно подключаться к базе данных (MongoDB), а именно касательно следующего:
У меня идет подключение к базе данных каждый раз при необходимости получить какую-то информацию с определенной модели. Мне кажется, что это очень замедляет скорость аппликации. Может люди как-то конектятся с mongoose на точке входа (server,js), а уже все остальные запросы не трубуют подключения, а уже потом просто получают данные по открытому соединению сразу все модели? Я прав или нет? Как это делается на практике в реальных проектах?
Если у кого-то есть рабочий пример на связке - Express, Node.js, Angular & MongoDB? Это мне бы очень помогло - наглядно пройтись и глянуть как все реализовывается на практике в реальных проектах.
Был бы очень благодарен за ответы на вышепоставленные вопросы.
1. Поддомен
2. Используют куки, и уникальные сессии. Изучите как авторизация работает.
3. Да не особо, можете сделать костыль в виде активного подключения к mongodb и будете туда посылать на костыль все запросы.
Вы бы не могли более детально обяснить касательно костыля для подключения к Mongoose?
Я так понимаю, что это своего рода сервис на Node.js, который используется для всех соединений с базой данных, только в него нужно будет передавать нужную модель или её имя. Я Вас верно понял? Таким образом можно будет сократить все запросы, так как они будут все накапливаться в пуле запросов к базе данных, или все же, каждый раз будет идти новое соединение?