Это история любви между FontAwesome’s Pro icon pack (v5) и проектом Ionic (v4) с использованием Angular (v7).

Во-первых, немного предыстории.

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

Рассмотрение: Клиент

Во-первых, есть несколько общих вопросов о существующих технологиях, которые клиент использует внутри компании:

  • Что, если вообще что, использует их команда в настоящее время?
  • Что они хотят использовать?
  • Какие у них есть возможности для обучения или найма, если мы выберем технологию, незнакомую их нынешней команде?

Рассмотрение: Пейзаж

В случае, если у команды клиента нет отдела разработки или это новый проект, и мы можем выбрать стек, который будем использовать, мы задаем разные вопросы:

  • Каков текущий ландшафт доступных технологий? (Какие есть возможности, доступные функции, интеграции и т. д.)
  • Насколько стабильна технология, которая бросается в глаза? (Как давно она отсутствует, сколько PR и проблем было сообщено и т. д.)
  • Как выглядит сообщество для конкретного инструмента / фреймворка / библиотеки? (Насколько активно сообщество работает над ним, использует его, обсуждает и т. д.)
  • Как выглядит документация? (Насколько она читабельна, удобна для навигации, исчерпывающая и т. д.)
  • Какие компании поддерживают этот инструмент / фреймворк / библиотеку? (Это говорит о долговечности и инвестициях в достижение долгосрочного успеха)

Рассмотрение: команда разработчиков

Затем, как команда, ответственная за создание продукта, мы должны задать себе несколько важных вопросов:

  • В каких технологиях мы сильны и работаем наиболее эффективно?
  • Над чем мы хотим работать?

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

Требования к проекту

  • Ионный 4
  • Угловой 7
  • FontAwesome Pro

После того, как я запустил проект с помощью Ionic's CLI, моей первой легкой победой с точки зрения пользовательского интерфейса было построение нескольких маршрутов и получение хороших ох и ахх от FontAwesome. красивые иконки * pro в проект.

Я не нашел быстрого и простого пошагового руководства со всем, что мне было нужно, поэтому я сделал это так.

Звучит довольно просто, правда? Возможно, вы думаете просто выполнить быстрый поиск в Интернете и найти десяток различных способов сделать это. Здорово! Я не нашел быстрого и простого пошагового руководства со всем, что мне было нужно, поэтому я сделал это так.

Получить FontAwesome Pro

Для использования FontAwesome Pro вам понадобится лицензия. Если он у вас есть, отлично, продолжайте! Если нет, сделайте домашнее задание и посмотрите, подходит ли это вам, вашему клиенту или вашей компании.

Войдите в свою учетную запись FontAwesome и перейдите на страницу Настройка диспетчера пакетов.

Суть, которую вы там поймете, такова:

  1. Создайте файл .npmrc в корне вашего проекта.
  2. Включите в этот файл фрагмент кода, который предоставляет вам FontAwesome (который для удобства включает ваш токен Pro).

3. Установите последнюю версию FontAwesome Pro (npm или yarn).

4. Выберите и установите пакеты значков, которые вам нужны.

Добавьте FontAwesome в свой проект

Я нашел эту ссылку на Github, которая проведет вас через несколько простых шагов, чтобы добавить FontAwesome в ваш проект Angular.

Однако мы не просто использовали Angular, мы использовали Ionic с Angular. Итак, вместо шагов, которые они выделяют, вот модификации, которые я использовал:

Откройте модуль вашего приложения:

app.module.ts

Импортировать FontAwesome:

Включите нужные значки из библиотеки, которую вы собираетесь использовать (в нашем случае мы собирались использовать пакет стиля Regular Pro):

Затем в свой экспорт включите свои значки:

Итак, ваш файл app.module.ts будет выглядеть примерно так:

Знаю, знаю…

Некоторые из вас могут заметить, что для использования FontAwesome в своем проекте вам потребуется импортировать FontAwesomeModule из строки 3 везде, где вы хотите использовать значки.

После того, как вы убедились, что у вас все настроено и работает, я предлагаю один (из многих, которые придут при создании вашего продукта) небольшой рефакторинг для создания общего компонента, который импортирует такие вещи, как FontAwesome (и другие глобально используемые элементы).

в действии

Теперь мы можем протестировать одну из наших симпатичных иконок в шаблоне. Обратите особое внимание на синтаксис, который нам здесь нужно использовать - мы определяем стиль «дальний» для пакета значков Обычный, и мы не включаем «fa» FontAwesome в название значка:

И это все! Для меня это было немного похоже на погоню за тем, как это сделать, и я провел несколько рефакторингов, когда проект начал расти, так что ваш опыт может варьироваться. Сообщите мне в комментариях, было ли это полезно для вас!

* Для справки: нет, мне не платят ни в службу поддержки FontAwesome Pro, ни за какие-либо технологии, ссылки на которые приведены здесь. Мне справедливо нравятся значки Pro за широту доступной библиотеки значков, варианты стилей библиотеки, которые вы получаете с Pro, и их простую в использовании настройку и обслуживание.