Подключение разных пакетов API не влияет на размер подгружаемых файлов JS
Подключаю api карт с полным пакетом через https://api-maps.yandex.ru/2.1/?load=package.full в итоге грузится js-файл https://yastatic.net/s3/front-maps-static/front-jsapi-v2-1/2.1.77-27/build/release/full-d3f34cc99c9c0dd436b9bc268e8dd6c17d0c711a.js размером 709кб.
Далее подключаю пакет search (который по данным документации https://yandex.ru/dev/maps/archive/doc/jsapi/2.0/ref/reference/packages-docpage/ значительно меньше по функционалу) в надежде уменьшить размер библиотеки. Подключаю api с помощью https://api-maps.yandex.ru/2.1/?load=package.search&lang=ru_RU. В инспекторе загрузки вижу тот же файл размером 709кб.
Как можно уменьшить размер подключаемого api, если используется только простая карта, или независимо от загружаемого пакета, размер будет 709кб, что существенно в рамках мобильного сайта?
package.full: https://yadi.sk/i/SXGKIlmFKKTByQ
package.search: https://yadi.sk/i/Hygtmta5VCUg2A
Ответы (1 шт):
Начиная с версии 2.1.77 Яндекс отказался от модульной системы в текущем виде в пользу статических бандлов кода с вечным кешированием.
По факту это даёт больший выигрыш в оптимизации загрузки API, чем модульная система, которая в большинстве случаёв всё равно приводила к выкачиванию полного кода API, но без полноценного кеширования.
Теперь пользователю достаточно на любом сайте скачать API, чтобы на вашем код был взят из кеша.