Понимание его цели и ограничений

Проект Angular по умолчанию — это не что иное, как строка, установленная в angular.json, чтобы сказать, какой проект должен работать с командами ng без определенного проекта.

Примечание. Ключ defaultProject был установлен как устаревший в 7.0.0, но он был заблокирован, потому что должно быть большое обсуждение макета проекта для 8.x.x.

Давайте создадим новый проект с именем my-app:

$ ng new my-app

Он создаст angular.json со следующей структурой:

{
  ...,
  "projects": {
    "my-app": { ... },
    "my-app-e2e": { ... },
  },
  "defaultProject": "my-app",
}

Таким образом, когда вы запускаете ng serve, он будет обслуживать my-app. Это будет то же самое, что запустить ng serve my-app.

Установка нового проекта по умолчанию

Чтобы понять, какие значения допустимы, давайте создадим библиотеку и приложение.

$ ng create application my-application
$ ng create library my-library

Теперь у нас есть следующая структура:

{
  ...,
  "projects": {
    "my-app": { ... },
    "my-app-e2e": { ... },
    "my-application": { ... },
    "my-application-e2e": { ... },
    "my-library": { ... }
  },
  "defaultProject": "my-app",
}

Выделенные значения ( my-app, my-application и my-library) допустимы для использования в качестве проекта по умолчанию. Проекты E2E недействительны, даже если они указаны как проекты, потому что они используются на ng e2e.

Если вы создали пустую рабочую область или просто удалили строку проекта по умолчанию, первый созданный вами проект (в данном случае my-application) будет автоматически установлен в качестве проекта по умолчанию.

Команды

Для каждого типа проекта используются свои собственные команды, например:
Приложения: serve, build, test, e2e и xi18n.
Библиотеки: build и test.

Эта статья является частью сборника советов по управлению рабочими пространствами Angular.

Спасибо за прочтение статьи! Если вам понравилось, не забудьте 👏 . Это так много значит для меня, и это помогает другим увидеть эту историю.

Если я что-то забыл, есть что поправить, или у вас есть вопрос, не бойтесь писать сюда ✋