Подтвердить что ты не робот

Google CDN для зависимостей Angular?

Есть ли способ уменьшить следующее: до одного?

<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.1/angular.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.1/angular-route.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.1/angular-sanitize.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.1/angular-animate.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.1/angular-cookies.min.js"></script>

Я не могу найти комбинированную версию этих размещенных в Google CDN.

4b9b3361

Ответ 1

Я искал пучок сам, но еще не нашел его. Мне кажется, вам нужно связать их вручную, если вы хотите, чтобы все они были в одном js. файл.


Я думал о создании задачи grunt (или аналогичной) для извлечения всех зависимостей и объединения их в один файл. Я знаю, что вы хотите использовать CDN, но просто хотели поделиться этой мыслью.

Обновление
Для всех, кто интересуется последним, просто наткнулся на этот плагин grunt-fetch-from-cdn. Еще не пробовал, но выглядит интересно.

Ответ 2

Я бы сказал, что основным преимуществом CDN является то, что каждый может использовать одни и те же файлы, тем самым позволяя кэшированию удалить необходимость загрузки файла вообще для большинства посетителей из-за его широкого использования на других сайтах.

Предположительно, количество перестановок, необходимых для объединения различных конфигураций зависимостей Angular, полностью отрицало бы это преимущество, и вам было бы лучше упаковать пакет со всей вашей другой JS для минимально возможного количества запросов и обслуживать его сами.

Однако похоже, что Angular обновляется довольно часто, что, хотя и полезно для исправлений ошибок, означает, что на данный момент существует много разных версий (и, следовательно, файлов), используемых в производственных средах. Это также снизит преимущества кеширования на разных сайтах.

Если вы сомневаетесь, проверьте оба метода на разных устройствах у друзей/семьи/работы/и т.д. которые видели обычное использование Интернета на сайтах, отличных от ваших собственных.

Я бы предположил, что в большинстве случаев было бы разумнее просто включать каждую ссылку CDN модуля отдельно, как вы делали выше, и позволять кешированию заботиться о сокращении фактического количества запросов. Если это станет обычной практикой, то дополнительное количество файлов не окажет большого влияния на время загрузки.

Ответ 3

Я согласен с Colt, но следующее может быть полезно, если использовать его мудро (см. "Загрузка нескольких файлов с помощью одного HTTP-запроса" ): JSDelivr

Ответ 4

Либо вы можете использовать gulp задачу, чтобы создать их в один script, либо вы можете использовать беседу, чтобы установить эти зависимости сразу.