Как стать автором
Обновить

Добавляем статические файлы вне проекта ангуляр

Время на прочтение2 мин
Количество просмотров7.4K

Всем привет. На связи Омельницкий Сергей. Сегодня я бы хотел рассказать, что делать если вы хотите предоставить доступ к статическому контенту, который находится вне корня исходного angular проекта.



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


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

Но бывают случаи, когда проект не один, а несколько. Появляются общие статические файлы для этих проектов и возникает вопрос — А как получить к ним доступ? Если попробовать просто указать путь к файлам вне проекта в assets, то при запуске проекта вы получите ошибку вида — An unhandled exception occurred: The configs asset path must start with the project source root.


И тут на помощь приходят расширенные настройки самого assets, а именно: вы можете сконфигурировать передаваемые параметры в качестве объекта. Этот объект может содержать в себе следующие поля:


  • glob: Поиск файлов по шаблону. Для базовой директории нужно использовать input.
  • input: Путь относительно корня рабочей области.
  • output: Путь относительно результирующей директории (по умолчанию dist/project-name).
  • ignore: Список для исключения в globs шаблоне.

Давайте трансформируем наш assets в новый вид:


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

А теперь давайте добавим папку /common, которая находится вне проекта. Дадим ей доступ по /tmp/**/*:


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

Ну в общем-то и все. Подробнее почитать об этом можно в официальной документации ангуляра

Теги:
Хабы:
Всего голосов 7: ↑5 и ↓2+3
Комментарии4

Публикации

Истории

Работа

Ближайшие события

Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн
Антиконференция X5 Future Night
Дата30 мая
Время11:00 – 23:00
Место
Онлайн
Конференция «IT IS CONF 2024»
Дата20 июня
Время09:00 – 19:00
Место
Екатеринбург