Nx CLI: управление монорепозиторием
Что такое монорепозиторий? Это когда весь код для разных частей проекта хранится в одном репозитории.
Зачем это нужно? Когда код в одном месте, проще:
Установка и настройка Nx CLI
Чтобы начать пользоваться Nx CLI, нужно его установить.
npm install -g @nrwl/cli
Потом можно настроить среду. Например, создать конфиг:
nx g @nrwl/workspace:workspace-configuration
nx g @nrwl/angular:app my-app
В общем, с помощью команды nx generate
или nx g
можно настроить все что угодно.
Создание монорепозитория
Теперь создадим монорепозиторий!
nx g @nrwl/workspace:workspace-schematic my-workspace
Готово! В папке my-workspace теперь есть базовая структура репозитория.
cd my-workspace nx g @nrwl/angular:app my-first-app
Добавление проектов
Чтобы добавить новый проект, используй команду nx g
.
Например, чтобы добавить React-приложение:
nx g @nrwl/react:app my-react-app
Все проекты хранятся в папке apps
. Библиотеки общих модулей - в libs
.
Управление зависимостями
Между проектами часто бывают зависимости.
Например, my-app
использует код из my-lib
.
Чтобы указать это, добавляем в файл project.json
:
{ "dependencies": { "my-lib": "workspace:*" } }
Таким образом проекты узнают друг о друге.
Работа с кодом и тестирование
В монорепозитории удобно работать с кодом.
nx test
Или тесты конкретного проекта:
nx test my-app
Чтобы запустить проект, используй:
nx serve my-app
В общем, с помощью команд nx очень удобно кодить.
Оптимизация процесса разработки
В заключение дам несколько советов, как оптимизировать работу:
- Используй линтинг кода с ESLint
- Настрой GitHooks для автоматизации задач
- Включи кэширование для ускорения сборки
- Разделяй проект на небольшие модули
Главное - экспериментируй и ищи способы улучшить свой workflow. Надеюсь, я объяснил, как удобно работать с Nx CLI.