Една обща прокси настройка може да не е подходяща за всеки източник на пакети. Модерният Yarn поддържа мрежови настройки по име на хост, което позволява на избран хост да използва различен маршрут от подразбиращия се.

Например, даден проект може да запази един общ маршрут и да избере друг за вътрешен регистър:

httpsProxy: "http://203.0.113.10:8080"
networkSettings:
  "registry.example.internal":
    httpsProxy: "http://203.0.113.20:8080"

Адресите 203.0.113.10:8080 и 203.0.113.20:8080 са запълващи стойности. За общ маршрут към публични източници на пакети списъкът с HTTP проксита предлага кандидати, когато публичните проксита са разрешени. Запазете override на вътрешния регистър на одобреното му прокси. Поставете конфигурацията в подходящия .yarnrc.yml за нова версия на Yarn. Този пример избира две проксита; той не казва, че вътрешният хост трябва да се свързва директно.

Съвпадение с исканото име на хост

Записът в networkSettings се прилага за шаблон за име на хост, а не за обхват на пакет (package scope) или произволен URL път. Запазете правилото за един хост точно, когато това имате предвид. Заместващият знак (wildcard) е полезен само когато наистина искате допълнителните хостове да споделят конфигурацията.

Обхватът на пакет и името на мрежов хост са различни селектори. Пакет с обхват може да бъде изтеглен от регистър, чийто хост се споделя с други пакети, докато пренасочен артефакт може да дойде от съвсем друг хост.

Следвайте целия път на изтегляне

Ако метаданните използват един хост, а изтеглянето на архив използва друг, те може да съвпаднат с различни мрежови настройки. Запишете URL адреса, който действително се проваля, преди да разширите правилото. „Регистърът работи“ не доказва кой маршрут е избрала по-късна заявка.

Настройките по хост в Yarn могат да включват и CA и друга TLS конфигурация. Дръжте тези решения отделно: изборът на прокси адрес сам по себе си не осигурява доверието, необходимо за среда с инспекция.

Направете override видим

Проверете ефективната конфигурация на проекта с инструментите, поддържани от неговата версия на Yarn, след което тествайте желаната заявка. Избягвайте споделянето на пълен дъмп на конфигурацията, ако той съдържа идентификационни данни.

Тази функция е полезна, когато хостовете наистина изискват различни маршрути. Ако всяка заявка трябва да използва една и съща крайна точка, една обща настройка се поддържа по-лесно от растящ списък с идентични override-и по име на хост.

Подобни статии