1. Введение в экосистему Angular: установка, структура проекта и создание первых компонентов
Введение в экосистему Angular: установка, структура проекта и создание первых компонентов
Добро пожаловать в курс «Разработка современных веб-приложений на Angular». Мы начинаем наше путешествие в мир одного из самых мощных и востребованных фреймворков для создания веб-приложений. Если вы когда-либо задумывались, как создаются сложные корпоративные системы, динамичные панели управления или быстрые одностраничные приложения (SPA), то вы попали по адресу.
В этой первой статье мы не просто напишем «Hello World». Мы разберем фундамент, на котором строится Angular, настроим профессиональное рабочее окружение и создадим свои первые архитектурные блоки.
Что такое Angular и почему он особенный?
Angular — это платформа и фреймворк для создания клиентских приложений на HTML и TypeScript. Он разрабатывается и поддерживается компанией Google. Важно понимать различие: это не просто библиотека (как, например, ранние версии React), которая решает одну задачу отрисовки интерфейса. Angular — это платформа.
Это означает, что «из коробки» вы получаете всё необходимое для разработки:
* Мощный инструмент командной строки (CLI) * Систему маршрутизации (Router) * Инструменты для работы с формами * Клиент для HTTP-запросов * Систему тестирования
Angular навязывает определенную структуру и стиль кода. Поначалу это может показаться ограничением, но на практике это огромный плюс: разработчик, переходящий из одного Angular-проекта в другой, сразу чувствует себя как дома, так как архитектура везде стандартизирована.
Подготовка рабочего окружения
Прежде чем мы сможем создать наше первое приложение, нам нужно подготовить почву. Angular требует наличия Node.js.
Шаг 1: Установка Node.js
Node.js — это среда выполнения JavaScript вне браузера. Angular использует её для работы своих инструментов сборки и разработки. Вам необходимо скачать и установить LTS (Long Term Support) версию с официального сайта Node.js. Она наиболее стабильна.
Чтобы проверить, что установка прошла успешно, откройте терминал (командную строку) и введите:
Вы должны увидеть версию Node.js (например, v18.13.0 или выше).
Шаг 2: Установка Angular CLI
Angular CLI (Command Line Interface) — это ваш главный помощник. Это утилита, которая позволяет создавать проекты, генерировать компоненты, запускать сервер разработки и собирать приложение для продакшена одной строкой кода.
Для установки CLI выполните в терминале следующую команду:
Здесь npm (Node Package Manager) — это менеджер пакетов, который устанавливается вместе с Node.js. Флаг -g означает, что мы устанавливаем инструмент глобально на весь компьютер.
Проверим установку:
Если вы видите красивый логотип Angular и список версий пакетов — поздравляю, вы готовы к работе!
Создание первого проекта
Теперь создадим наше приложение. В Angular это делается одной командой. Перейдите в папку, где вы хотите хранить свои проекты, и выполните:
CLI задаст вам несколько вопросов. Для начала выберем следующие варианты:
После этого начнется процесс установки зависимостей. Это может занять пару минут, так как npm скачивает необходимые библиотеки в папку node_modules.
Структура проекта Angular
Откройте созданную папку my-first-app в вашем любимом редакторе кода (рекомендуется VS Code). Давайте разберем, что находится внутри. Понимание структуры критически важно для дальнейшей работы.
Корневые файлы
* angular.json: Главный файл конфигурации. Здесь описано, как собирать проект, какие файлы стилей подключать глобально и другие настройки сборщика.
* package.json: Список всех библиотек (зависимостей), которые использует ваш проект, а также скрипты для запуска (например, start, build).
* tsconfig.json: Настройки компилятора TypeScript. Angular написан на TypeScript, и ваш код тоже будет на нем.
Папка src
Здесь живет исходный код вашего приложения.
* index.html: Единственная HTML-страница вашего приложения. Поскольку мы делаем SPA (Single Page Application), пользователь физически находится на этой странице, а Angular подменяет содержимое внутри неё. * main.ts: Точка входа в приложение. Этот скрипт запускает Angular и загружает главный модуль или компонент. * styles.css: Глобальные стили, которые применяются ко всему приложению.
Папка src/app
Это сердце вашего приложения. Здесь будут лежать все ваши компоненты, сервисы и модули.
Компоненты: Строительные блоки
Главная концепция Angular — это компоненты. Всё, что вы видите на экране в Angular-приложении, является компонентом.
Компонент состоит из трех основных частей:
Давайте посмотрим на файл app.component.ts. Это главный (корневой) компонент, который создается автоматически.
Разберем этот код:
@Component: Это декоратор*. Он говорит Angular, что следующий за ним класс — это не просто класс, а компонент. Внутри декоратора мы передаем объект с метаданными.
* selector: 'app-root': Это имя тега, по которому мы будем обращаться к этому компоненту в HTML. Если вы заглянете в index.html, вы увидите там <app-root></app-root>.
* templateUrl: Ссылка на файл с HTML-разметкой этого компонента.
* styleUrl: Ссылка на файл со стилями.
* standalone: true: Начиная с последних версий Angular, компоненты по умолчанию являются автономными (standalone), что упрощает структуру приложения, избавляя от необходимости использовать NgModules для каждого чиха.
* class AppComponent: Это обычный класс на TypeScript, где мы пишем логику. Сейчас там есть одно свойство title.
Создание нового компонента
Давайте создадим свой собственный компонент. Допустим, мы хотим сделать «шапку» (Header) для нашего сайта. Вручную создавать файлы долго и чревато ошибками, поэтому мы используем CLI.
Откройте терминал (убедитесь, что вы находитесь в папке проекта) и введите:
Или сокращенно:
CLI создаст папку src/app/header с четырьмя файлами:
header.component.html (шаблон)header.component.ts (логика)header.component.css (стили)header.component.spec.ts (файл для тестов, пока его игнорируем)Использование компонента
Теперь у нас есть компонент Header, но он нигде не отображается. Чтобы его увидеть, нужно добавить его в родительский компонент — AppComponent.
header.component.ts и посмотрите на свойство selector. Скорее всего, это 'app-header'.app.component.ts. Так как мы используем Standalone компоненты, нам нужно явно импортировать наш новый компонент.app.component.html. Удалите всё содержимое (это шаблон по умолчанию от Angular) и добавьте:Откройте браузер по адресу http://localhost:4200. Вы увидите текст «header works!» (стандартный текст нового компонента) и наш заголовок.
Интерполяция: Связь данных и шаблона
Одной из самых сильных сторон Angular является Data Binding (привязка данных). Самый простой вид привязки — это интерполяция.
Интерполяция позволяет вывести значение переменной из класса (TypeScript) прямо в HTML. Для этого используются двойные фигурные скобки {{ }}.
Давайте изменим header.component.ts:
А теперь используем эту переменную в header.component.html:
Сохраните файлы. Браузер автоматически обновит страницу, и вы увидите «Мой Супер Магазин». Если вы измените значение переменной siteName в классе, Angular мгновенно обновит текст на странице. Вам не нужно писать код для поиска элемента в DOM и обновления его innerHTML — Angular берет это на себя.
Заключение
Сегодня мы сделали огромный шаг. Мы установили инструменты, разобрались, из чего состоит проект Angular, узнали, что такое компоненты, и даже связали данные с отображением.
В следующей статье мы углубимся в шаблоны: научимся реагировать на действия пользователя (клики, ввод текста) и управлять отображением элементов с помощью директив.