Чтобы легко узнать и начать с отличного дуэта Angula r + Гнездо JS, я рекомендую вам использовать Nx, расширяемый инструмент разработки для Monorepos .
Nx - это набор инструментов для управления monorepo
с помощью набора приложений и собственных разработанных библиотек. Вы можете смешивать различные фреймворки, такие как Angular, React, Nest JS, веб-компоненты ...
Для ваших нужд, он предоставит вам готовую к запуску среду с одним Angular проектом и один проект Nest JS.
Для этого вы можете следовать этому превосходному учебнику от Nx.dev .
Основные шаги:
Создайте новое рабочее пространство Nx (здесь оно называется «myrepo»)
npx create-nx-workspace@latest myrepo
cd myrepo
Создайте приложение Angular (здесь оно называется «внешний интерфейс»)
ng add @nrwl/angular # Add Angular Capabilities to the workspace
ng g @nrwl/angular:application frontend # Create an Angular Application
Создайте приложение Nest JS (здесь он называется «api»)
ng add @nrwl/nest # Add Node Capabilities to the workspace
ng g @nrwl/nest:application api --frontend-project frontend
Служить этим приложениям (в 2 отдельных оболочках)
ng serve api
ng serve frontend
Затем, как описано в руководстве, вы можете использовать HttpClient
для взаимодействия с вашим NestJS
приложение.
По умолчанию: - Angular будет обслуживаться в http://localhost:4200
- Гнездо JS будет обслуживаться в http://localhost:3333
Также по умолчанию файл proxy.conf.json
определен внутри Angular app в myrepo / apps / frontend:
{
"/api": {
"target": "http://localhost:3333",
"secure": false
}
}
, что означает, что каждый запрос от браузера на http://localhost:4200/api
будет перенаправляться на http://localhost:3333/api
, следовательно, доставляется NestJS
backend.