Angular 6 - Ускоренный курс MEAN Stack - Часть 1: Настройка и маршрутизация внешнего интерфейса проекта

Это сообщение было впервые опубликовано на CodingTheSmartWay.com.

Подпишитесь на YouTube | Живая демонстрация | Код на GitHub

Создание приложения Angular 6 CRUD с нуля с помощью MongoDB, Express, Node.js и пользовательского интерфейса Material Design

Термин стек MEAN относится к набору технологий на основе JavaScript, используемых для разработки веб-приложений. MEAN - это аббревиатура от MongoDB, ExpressJS, Angular и Node.js.

В этом руководстве вы научитесь использовать стек MEAN с нуля. Мы рассмотрим интерфейсную и внутреннюю части, и, следуя инструкциям этого руководства, вы сможете изучить все, построив реальный пример с нуля.

Если вам нравится CodingTheSmartWay, подумайте о поддержке нас через Patreon. С вашей помощью мы сможем чаще выпускать руководства для разработчиков. Большое спасибо! Станьте покровителем!

Из этой серии вы узнаете:

  • Как настроить и реализовать интерфейсное веб-приложение с помощью Angular 6
  • Использование Angular Material для реализации пользовательского интерфейса на основе материального дизайна
  • Настройка и запуск MongoDB
  • Реализация внутреннего API с помощью Node.js и Express.js
  • Подключите внутренний сервер к базе данных MongoDB
  • Используйте Postman для тестирования серверного API
  • Подключение шрифтового приложения Angular 6 к серверной части Node.js

В этой первой части этой серии мы сосредоточимся на настройке внешнего интерфейса проекта Angular 6, установке необходимых зависимостей и настройке маршрутизации на стороне клиента.

Ниже вы можете увидеть основные строительные блоки приложения стека MEAN:

Что мы собираемся построить в этой серии

Мы собираемся создать приложение для отслеживания проблем. На этой стартовой странице вы увидите список уже созданных записей о проблемах:

С помощью кнопки Создать новую проблему вы можете перейти к следующему виду:

Ввод данных и нажатие кнопки Сохранить создает новую запись о проблеме и возвращает вас к просмотру списка. В представлении списка вы также можете выбрать Удалить или Изменить существующие элементы задачи:

Данные о проблемах хранятся в базе данных MongoDB и доступны через API сервера Node.js / Express.js.

Установка Node.js и Angular CLI

Сначала нам нужно убедиться, что в системе установлены Node.js и Angular CLI. Чтобы установить Node.js, вам необходимо перейти на веб-сайт проекта по адресу https://nodejs.org/, найти и загрузить установщик для своей платформы и выполнить установку, запустив установщик.

При установке Node.js в вашу систему одновременно устанавливается Node Package Manager (NPM). В этом руководстве мы будем использовать NPM для установки зависимостей в наших проектах и ​​установки Angular CLI на следующих этапах.

Angular CLI позволяет легко инициировать новый проект и устанавливается с помощью NPM следующим образом:

$ npm install -g @angular/cli

После завершения установки вы сможете использовать команду ng в своей системе. Эту команду теперь можно использовать для запуска новых проектов, добавления компонентов в проект, запуска веб-сервера разработки с перезагрузкой в ​​реальном времени или запуска процесса сборки.

Настройка проекта Angular 6 с помощью Angular CLI

В нашем приложении стека MEAN Angular 6 используется для реализации одностраничного веб-приложения со шрифтами. Давайте воспользуемся ранее установленным Angular CLI для настройки нового проекта Angular CLI:

$ ng new frontend

Эта команда создает новую папку frontend, загружает шаблон приложения Angular по умолчанию и обеспечивает установку всех зависимостей. Успешно выполнив эту команду, вы можете теперь войти в каталог

$ cd frontend

и запустите веб-сервер разработки с помощью следующей команды:

$ ng serve --open

Эта команда должна открыть приложение Angular в браузере, и вы должны увидеть следующий результат:

Добавление углового материала

С выпуском Angular 6 стала доступна новая команда ng add, которая упрощает добавление новых возможностей в проект. Эта команда будет использовать диспетчер пакетов для загрузки новых зависимостей и вызова соответствующих сценариев установки. Это обеспечивает обновление проекта зависимостями, изменениями конфигурации и выполнение кода инициализации для конкретного пакета.

Далее мы будем использовать команду ng add, чтобы добавить Angular Material в ранее созданное приложение Angular 6:

$ ng add @angular/material

Теперь мы готовы использовать Angular Material в нашем интерфейсном проекте.

Создание компонентов

Теперь давайте создадим три новых компонента в нашем приложении Angular 6. Мы снова используем Angular CLI:

$ ng g c components/list

$ ng g c components/create

$ ng g c components/edit

Имея эти три компонента, мы готовы приступить к реализации интерфейсного приложения. Давайте сначала настроим маршрутизацию на стороне клиента.

Добавление маршрутизации

Чтобы настроить маршрутизацию, нам сначала нужно импортировать RouterModule и Routes из пакета @ angular / router в app.module.ts :

import { RouterModule, Routes } from '@angular/router';

Затем давайте добавим конфигурацию маршрутизации в виде массива Routes:

const routes: Routes = [
  { path: 'create', component: CreateComponent },
  { path: 'edit/:id', component: EditComponent },
  { path: 'list', component: ListComponent },
  { path: '', redirectTo: '/list', pathMatch: 'full'}
];

Каждый объект Routes состоит из двух свойств: path и component. Это подключение расширения URL (например, «create») к компоненту (CreateComponent). Кроме того, настраивается перенаправление с маршрута приложения по умолчанию на маршрут, отображающий содержимое из ListComponent.

Чтобы активировать конфигурацию маршрутизации для нашего приложения Angular, вам необходимо обязательно добавить следующее в массив, который назначен свойству imports декоратора @NgModule:

imports: [
    ...
    RouterModule.forRoot(routes)
  ],

Как вы можете видеть здесь, мы используем фабричный метод RouterModule.forRoot для передачи нашей конфигурации маршрутизации.

В зависимости от запрашиваемого маршрута приложения содержимое подключенного компонента должно быть частью вывода. Точное место, куда следует вставить содержимое этого компонента, отмечено элементом ‹router-outlet›. Вставьте этот элемент в app.component.html:

<mat-toolbar>
  <span>Angular 6 - MEAN Stack Sample Application</span>
</mat-toolbar>
<div>
  <router-outlet></router-outlet>
</div>

Обратите внимание, что мы используем первый компонент из библиотеки материалов Angular: MatToolbar. Чтобы иметь возможность использовать здесь элемент ‹mat-toolbar›, нам нужно добавить еще один оператор импорта в app.module.ts:

import { MatToolbarModule } from '@angular/material';

Также добавьте MatToolbarModule в массив импорта:

imports: [
    ...
    MatToolbarModule
 ],

Что дальше

Мы начали создавать интерфейсную часть нашего приложения стека MEAN, запустив новый проект Angular 6, установив зависимости, добавив компоненты и маршрутизацию на стороне клиента.

В следующей части этой серии мы продолжим реализацию приложения стека MEAN. Поэтому внутренний проект будет настроен с использованием MongoDB, Node.js и Express.js.

Это сообщение было впервые опубликовано на CodingTheSmartWay.com.

Angular и NodeJS №1 - Руководство по стеку MEAN

Узнайте, как подключить ваш Angular Frontend к Backend NodeJS, Express и MongoDB, создав реальное приложение
Go To Course…

# 2 Angular 6 - Полное руководство

Осваивайте Angular (Angular 2+, включая Angular 6) и создавайте потрясающие, реактивные веб-приложения с преемником Angular.js
Go To Course…

Отказ от ответственности: это сообщение содержит партнерские ссылки. Это означает, что если вы нажмете на одну из ссылок на продукт, я получу небольшую комиссию. Это поможет поддержать этот блог!