Упрощение Angular Routing: создание модулей маршрутизации и файлов компонентов одной командой

Angular — это мощная платформа для создания веб-приложений, одной из ее ключевых особенностей является система маршрутизации. Маршрутизация Angular позволяет вам перемещаться между различными компонентами и создавать удобный пользовательский интерфейс. Однако настройка маршрутизации в Angular иногда может быть повторяющейся и трудоемкой задачей, особенно если вам нужно создать как модуль маршрутизации, так и файл компонента для каждого маршрута. В этой статье мы рассмотрим различные методы оптимизации этого процесса путем создания модулей маршрутизации и файлов компонентов с помощью одной команды.

Метод 1: пользовательские схемы Angular
Angular предоставляет мощную функцию, называемую схемами, которая позволяет создавать собственные шаблоны генерации кода. Используя схемы, вы можете создать свою собственную схему, которая генерирует модуль маршрутизации и файлы компонентов одной командой. Вот пример того, как этого можно добиться:

  1. Установить коллекцию Angular Schematics по всему миру:

    npm install -g @angular-devkit/schematics-cli
  2. Создайте новый проект схемы:

    schematics blank my-routing-schematic
    cd my-routing-schematic
  3. Сгенерируйте файлы схем:

    schematics schematic --name=my-routing-schematic
  4. Реализуйте собственную логику схемы в сгенерированных файлах.

  5. Постройте схему:

    npm run build
  6. Свяжите схему с вашим проектом Angular:

    npm link
  7. Запустите схему в своем проекте Angular:

    ng generate my-routing-schematic:my-routing-module --name=my-route

Метод 2: расширения Angular CLI
Другой подход — создать расширение Angular CLI, которое расширяет стандартную команду ng generateдля создания как модуля маршрутизации, так и файлов компонентов. Вот пример того, как этого можно добиться:

  1. Установите генератор расширений Angular CLI:

    npm install -g yo generator-angular-cli-extension
  2. Создать новое расширение Angular CLI:

    yo angular-cli-extension
  3. Реализуйте свою собственную логику в сгенерированных файлах, в частности в файлах src/generators/component/index.tsи src/generators/routing-module/index.ts.

  4. Создайте расширение:

    npm run build
  5. Свяжите расширение с вашим проектом Angular:

    npm link
  6. Запустите расширенную команду ng generateв своем проекте Angular:

    ng generate my-extension:my-routing --name=my-route

Метод 3: собственный построитель Angular CLI
Если вы предпочитаете более интегрированный подход, вы можете создать собственный построитель Angular CLI, который генерирует как модуль маршрутизации, так и файлы компонентов. Этот метод позволяет расширить процесс сборки Angular CLI. Вот пример того, как этого можно добиться:

  1. Создайте новое рабочее пространство Angular CLI:

    ng new my-angular-app
    cd my-angular-app
  2. Создать новый конструктор:

    ng generate @angular-devkit/architect:builder my-routing-builder
  3. Реализуйте свою собственную логику в сгенерированных файлах, в частности в файле src/builders/my-routing-builder/index.ts.

  4. Зарегистрируйте сборщик в файле angular.jsonвашего проекта Angular.

  5. Запустите пользовательский конструктор:

    ng run my-angular-app:my-routing-builder --name=my-route

В этой статье мы рассмотрели различные методы, позволяющие упростить процесс создания модулей маршрутизации и файлов компонентов в Angular. Независимо от того, решите ли вы создавать собственные схемы Angular, расширения Angular CLI или собственные конструкторы Angular CLI, эти подходы могут значительно сократить ручные усилия, необходимые для настройки маршрутизации в ваших проектах Angular. Автоматизируя этот процесс, вы сможете больше сосредоточиться на разработке основных функций вашего приложения и обеспечении лучшего взаимодействия с пользователем.