Установка и новый проект
Angular CLI — консольная программа ng, которая создаёт проект, запускает его, генерирует файлы и собирает приложение. Почти вся работа с Angular идёт через неё.
Что нужно заранее
Нужен Node.js актуальной LTS-версии (22 или новее) — вместе с ним устанавливается npm. Проверьте версии:
node -v
npm -vУстановка CLI
npm install -g @angular/cliФлаг -g ставит пакет глобально, и команда ng становится доступна в любой папке. Проверка: ng version выводит версию Angular CLI.
Создание проекта
ng new my-appCLI задаст несколько вопросов. Для курса выбирайте формат стилей CSS, а от серверного рендеринга (SSR) откажитесь — он нужен для отдельных задач и усложняет первые шаги. Остальное оставьте по умолчанию. CLI создаст папку my-app и установит зависимости — это занимает минуту-другую.
cd my-app
ng serveОткройте http://localhost:4200 — появится стартовая страница Angular.
Обзор папок
my-app/
├── public/ файлы как есть: favicon.ico, картинки
├── src/
│ ├── app/
│ │ ├── app.ts главный компонент App
│ │ ├── app.html его шаблон
│ │ ├── app.css его стили
│ │ ├── app.spec.ts его тест
│ │ ├── app.config.ts настройки приложения
│ │ └── app.routes.ts маршруты
│ ├── index.html единственная HTML-страница
│ ├── main.ts точка входа
│ └── styles.css общие стили
├── angular.json настройки сборки
├── package.json
└── tsconfig.jsonВ Angular до версии 20 файлы назывались по-другому: app.component.ts, app.component.html, а класс — AppComponent. Смысл тот же.
Точка входа
// src/main.ts
import { bootstrapApplication } from '@angular/platform-browser';
import { appConfig } from './app/app.config';
import { App } from './app/app';
bootstrapApplication(App, appConfig)
.catch((err) => console.error(err));Функция bootstrapApplication запускает приложение: берёт компонент App и настройки из app.config.ts. Этот файл менять почти не придётся.
Главный компонент
В src/index.html есть тег <app-root></app-root>. На его место Angular выводит компонент App:
// src/app/app.ts
import { Component } from '@angular/core';
import { RouterOutlet } from '@angular/router';
@Component({
selector: 'app-root',
imports: [RouterOutlet],
templateUrl: './app.html',
styleUrl: './app.css',
})
export class App {}Шаблон компонента лежит в app.html. Удалите всё его содержимое и напишите <h1>Мои задачи</h1> — страница в браузере обновится сама.
Частая ошибка
Команды ng serve и ng generate нужно запускать внутри папки проекта. Если запустить их в родительской папке, CLI ответит, что команда доступна только внутри рабочего пространства Angular. Сначала выполните cd my-app.