кодесурса
«Угловое

Конфигурация углового рабочего пространства

script1adsense2code
script1adsense3code

Файл с именем angular.json на корневом уровне рабочей области Angular предоставляет настройки конфигурации по умолчанию для всей рабочей области и проекта для инструментов сборки и разработки, предоставляемых Angular CLI. Значения пути, указанные в конфигурации, относятся к корневой папке рабочего пространства.

Общая структура JSON

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

  • версия: версия файла конфигурации.
  • newProjectRoot: путь, по которому создаются новые проекты. Абсолют или относительно папки рабочей области.
  • defaultProject: имя проекта по умолчанию для использования в командах, не было указано в качестве аргумента. Когда вы используете ng new для создания нового приложения в новом рабочем пространстве, это приложение является проектом по умолчанию для рабочего пространства, пока вы не измените его здесь.
  • schematics: набор схем, которые настраивают опцию подкоманд для генерации ng по умолчанию для этого рабочего пространства.
  • проекты: содержит подраздел для каждого проекта (библиотека, приложение, тестовое приложение e2e) в рабочей области с параметрами конфигурации для каждого проекта.

Исходное приложение, которое вы создаете с помощью ng new app_name, указано в разделе «Проекты» вместе с соответствующим приложением для сквозного тестирования:

projects
app_name
.......
app_name-e2e
.......

Каждое дополнительное приложение, которое вы создаете с помощью приложения ng generate, имеет соответствующий сквозной тестовый проект со своим собственным разделом конфигурации. Когда вы создаете проект библиотеки с помощью ng, создаете библиотеку, проект библиотеки также добавляется в раздел проектов.

Обратите внимание, что раздел проектов файла конфигурации не полностью соответствует структуре файла рабочей области.

  • Начальное приложение, созданное с помощью ng new, находится на верхнем уровне файловой структуры рабочей области вместе со своим приложением e2e.
  • Дополнительные приложения, приложения e2e и библиотеки помещаются в папку проектов в рабочей области.

Параметры конфигурации проекта

Следующие свойства конфигурации верхнего уровня доступны для каждого проекта в проектах: <имя_проекта>.


````
"my-v7-app": {
  "root": "",
  "sourceRoot": "src",
  "projectType": "application",
  "prefix": "app",
  "schematics": {},
  "architect": {}
}
````
ИМУЩЕСТВО ОПИСАНИЕ
корень Корневая папка для файлов этого проекта относительно папки рабочей области. Пусто для начального приложения, которое находится на верхнем уровне рабочей области.
sourceRoot Корневая папка для исходных файлов этого проекта.
projectType Один из «приложения» или «библиотеки». Приложение может работать независимо в браузере, а библиотека - нет. И приложение, и его тестовое приложение e2e имеют тип «приложение».
Префикс Строка, которую Angular добавляет к сгенерированным селекторам. Может быть настроен для идентификации приложения или области функций.
Schematics Набор схем, которые настраивают опцию подкоманды генерации ng по умолчанию для этого проекта.
Архитектор Конфигурация по умолчанию для целей Architect Builder для этого проекта.

Схемы генерации

Схемы угловых генераций - это инструкции по изменению проекта путем добавления файлов или изменения существующих файлов. Отдельные схемы для стандартных команд Angular CLI и генерации собираются в пакете @angular. Укажите имя схемы для подкоманды в формате schematic-package: schematic-name; например, схема для генерации компонента является @angular: component.

Схемы JSON для схем по умолчанию, используемых CLI для генерации проектов и частей проектов, собраны в пакете @ schematics / angular. Схема описывает параметры, доступные для CLI для каждой из подкоманд генерации ng, как показано в выводе --help.

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

Параметры конфигурации инструмента проекта

Архитектор - это инструмент, который CLI использует для выполнения сложных задач, таких как компиляция и запуск теста, в соответствии с предоставленными конфигурациями. Раздел Architect в angular.json содержит набор целей Architect. Многие из целей соответствуют командам CLI, которые запускают их. Некоторые дополнительные предопределенные цели могут быть запущены с помощью команды ng run, и вы можете определить свои собственные цели.

Каждый целевой объект указывает построителя для этой цели, который представляет собой пакет npm для инструмента, который запускает Architect. Кроме того, у каждой цели есть раздел параметров, который настраивает параметры по умолчанию для цели, и раздел конфигурации, в котором указаны и указаны альтернативные конфигурации для цели.

````
"architect": {
  "build": { },
  "serve": { },
  "e2e" : { },
  "test": { },
  "lint": { },
  "extract-i18n": { },
  "server": { },
  "app-shell": { }
}
````
  • В разделе architect / build настраиваются параметры по умолчанию для команды ng build.
  • Раздел architect / serve переопределяет значения по умолчанию для build и предоставляет дополнительные значения по умолчанию для команды ng serve. В дополнение к параметрам, доступным для команды ng build, он добавляет параметры, относящиеся к обслуживанию приложения.
  • Раздел architect / e2e переопределяет значения по умолчанию для параметров сборки для создания приложений сквозного тестирования с помощью команды ng e2e.
  • Раздел architect / test переопределяет значения по умолчанию для параметров сборки для тестовых сборок и предоставляет дополнительные значения по умолчанию для запуска теста для команды ng test.
  • В разделе architect / lint настраиваются параметры по умолчанию для команды ng lint, которая выполняет анализ кода исходных файлов проекта. Средство для рисования по умолчанию для Angular - TSLint.
  • В разделе architect / extract-i18n настраиваются значения по умолчанию для параметров инструмента ng-xi18n, используемого командой ng xi18n, которая извлекает отмеченные строки сообщений из исходного кода и выводит файлы перевода.
  • В разделе «Архитектор / сервер» настраиваются параметры по умолчанию для создания универсального приложения с рендерингом на стороне сервера с помощью команды ng run <project>: server.
  • В разделе architect / app-shell настраиваются параметры по умолчанию для создания оболочки приложения для прогрессивного веб-приложения (PWA) с помощью команды ng run <project>: app-shell.

В общем, параметры, для которых вы можете настроить значения по умолчанию, соответствуют параметрам команды, перечисленным на странице справки CLI для каждой команды. Обратите внимание, что все параметры в файле конфигурации должны использовать camelCase, а не dash-case.

Построить цель

В разделе architect / build настраиваются параметры по умолчанию для команды ng build. Он имеет следующие свойства верхнего уровня.

ИМУЩЕСТВО ОПИСАНИЕ
строитель Пакет npm для инструмента сборки, используемого для создания этой цели. По умолчанию это @ angular-devkit / build-angular: browser, который использует пакетный пакет webpack.
опции Этот раздел содержит параметры цели сборки по умолчанию, используемые, если не указана именованная альтернативная конфигурация.
конфигурации Этот раздел определяет и называет альтернативные конфигурации для различных предполагаемых мест назначения. Он содержит раздел для каждой именованной конфигурации, который устанавливает параметры по умолчанию для этой предполагаемой среды.

Цели сборки по умолчанию

Angular определяет компоновщики по умолчанию для использования с инструментом Architect и командой ng run. Разработчики по умолчанию предоставляют реализации, которые используют определенный инструмент для выполнения сложной операции.

Схемы JSON, которые определяют параметры и значения по умолчанию для каждого из этих сборщиков по умолчанию, собраны в пакете @ angular-devkit / build-angular. Схемы настраивают параметры для следующих целей сборки Architect:

  • приложение-оболочка
  • браузер
  • Dev-сервер
  • Экстракт-i18n
  • карма
  • транспортир
  • сервер
  • tslint

Альтернативные конфигурации сборки

По умолчанию определена производственная конфигурация, а команда ng build имеет параметр --prod, который строит с использованием этой конфигурации. Производственная конфигурация устанавливает значения по умолчанию, которые оптимизируют приложение несколькими способами, такими как объединение файлов, минимизация лишних пробелов, удаление комментариев и мертвого кода и переписывание кода для использования коротких, загадочных имен («минификация»).

Вы можете определить и назвать дополнительные альтернативные конфигурации (например, stage), соответствующие вашему процессу разработки. Некоторые примеры различных конфигураций сборки - это стабильные, архивные и последующие файлы, используемые самим AIO, а также индивидуальные настройки для конкретных локалей, необходимые для построения локализованных версий приложения. Подробнее см. Интернационализация (i18n).

Дополнительные параметры сборки и тестирования

Настраиваемые параметры для стандартной или целевой сборки обычно соответствуют параметрам, доступным для команд ng build, ng serve и ng test. Подробнее об этих параметрах и их возможных значениях см. В справочнике по CLI.

Некоторые дополнительные параметры (перечисленные ниже) могут быть установлены только через файл конфигурации, либо путем непосредственного редактирования, либо с помощью команды ng config.

ВАРИАНТЫ СВОЙСТВ ОПИСАНИЕ
fileReplacements Объект, содержащий файлы и их замены во время компиляции.
stylePreprocessorOptions Объект, содержащий пары опция-значение для передачи препроцессорам стиля.
активы Объект, содержащий пути к статическим ресурсам для добавления в глобальный контекст проекта. Пути по умолчанию указывают на файл значка проекта и его папку ресурсов. Смотрите больше ниже.
стили Объект, содержащий файлы стилей для добавления в глобальный контекст проекта. Angular CLI поддерживает импорт CSS и все основные препроцессоры CSS: sass / scss, less и стилус.
скрипты Объект, содержащий файлы сценариев JavaScript для добавления в глобальный контекст проекта. Скрипты загружаются точно так же, как если бы вы добавили их в тег <script> внутри index.html.
бюджеты Тип размера бюджета по умолчанию и пороговые значения для всего или частей вашего приложения. Вы можете настроить построитель так, чтобы он сообщал о предупреждении или ошибке, когда выходные данные достигают или превышают пороговый размер.

Конфигурация активов проекта

Каждая целевая конфигурация сборки может включать в себя массив ресурсов, в котором перечислены файлы или папки, которые вы хотите скопировать как есть при сборке проекта. По умолчанию папки src / assets / и src / favicon.ico копируются.

```
"assets": [
  "src/assets",
  "src/favicon.ico"
]
	```
	

Чтобы исключить актив, вы можете удалить его из конфигурации активов.

Вы можете дополнительно настроить активы для копирования, указав активы как объекты, а не как простые пути относительно корня рабочей области. Объект спецификации актива может иметь следующие поля.

  • glob: узел-glob, использующий вход как базовый каталог.
  • вход: путь относительно корня рабочего пространства.
  • output: путь относительно outDir (по умолчанию это dist / project-name). Из-за проблем безопасности CLI никогда не записывает файлы за пределы выходного пути проекта.
  • игнорировать: список глобусов для исключения.

Например, пути активов по умолчанию могут быть представлены более подробно с помощью следующих объектов.

```
"assets": [
  { "glob": "**/*", "input": "src/assets/", "output": "/assets/" },
  { "glob": "favicon.ico", "input": "src/", "output": "/" },
]
```

Вы можете использовать эту расширенную конфигурацию для копирования ресурсов за пределы вашего проекта. Например, следующая конфигурация копирует ресурсы из пакета узла:

"assets": [
 {"glob":"**/*", "input": "./node_modules/some-package/images", "output": "/some-package/" },
]

Содержимое node_modules / some-package / images / будет доступно в dist / some-package /.

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

"assets": [
 { "glob": "**/*", "input": "src/assets/", "ignore": ["**/*.svg"], "output": "/assets/" },
]

Предыдущий: Внедрение зависимостей в действии
Далее: Конфигурация TypeScript

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code