Подтвердить что ты не робот

MEAN-стек: angular маршрутизация против экспресс-маршрутизации

Я начал использовать angular в моих проектах с выраженным выражением, и я люблю его. Недавно я реализовал маршрутизацию angular в один из моих тестовых проектов, и мне интересно, какие преимущества и недостатки заключается в использовании маршрутизации angular через маршрутизацию pure express/node (например, есть технические проблемы с этим путем или, возможно, SEO, или это совершенно не нужно).

FYI в моей настройке: у меня есть экспресс-рендеринг основного шаблона индекса, а также маршрутизация всего запроса (catch all) в основной шаблон индекса, а затем я использую angular для маршрутизации на частичные шаблоны из основного шаблон индекса

4b9b3361

Ответ 1

Со средним стеком (mongo, express, angular) у вас будет маршрутизация с обоих концов.

Express будет обслуживать ваши статические index.html и css/js/images и ваш api, а angular будет взаимодействовать с api для получения данных из mongo.

Маршрутизация с помощью экспресс в первую очередь будет выполняться для API, а маршрутизация в angular будет выполнена для обработки внешнего интерфейса вашего приложения. Express не будет возвращать какой-либо html, отличный от index.html, и любые частичные части шаблонов, которые вы написали для angular, однако даже это можно устранить, скомпилировав все шаблоны непосредственно в ваши файлы js с помощью инструмента построения, такого как gulp/хрюкать.


Конечно, можно пойти на 100% в сторону или в другую, однако это непрактично, потому что вы окажетесь неэффективно, используя ту или иную сторону. Например, если вы выполняли всю свою маршрутизацию с помощью экспресс-и angular на каждой отдельной странице, вы игнорировали бы все функции приложения одной страницы и маршрутизацию угловых символов, оставив только цель создания страницы, которая, вероятно, могла бы быть более эффективно с помощью экспресс-и нефрита (или любого другого механизма моделирования шаблонов). Невозможно перейти в другом направлении и выполнить всю вашу маршрутизацию с помощью angular, потому что angular требует api для получения данных, кроме вы включаете все данные вверх, встроенные в html, и я уверен, что вы согласитесь, это плохая идея. (это также исключает монго в этот момент.)

Ответ 2

Они решают две разные проблемы. Angular маршрутизация (ui-router) - клиентская - загрузка правильных ui-просмотров. Экспресс-маршрутизация - серверная - API-интерфейсы REST, которые вы публикуете.