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

Загружать внешние библиотеки из CDN с помощью angular -cli

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

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

Я видел этот вопрос, но это было для SystemJS, и я не думаю, что он относится к angular -cli: Как загрузить Angular2 с помощью CDN и SystemJS

4b9b3361

Ответ 1

Вам просто нужно добавить теги <script src="">, указывающие на CDN, в файл index.html. Не забудьте удалить .js файлы из angular-cli.json, чтобы они не попадали в комплекте с приложением.

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

Ответ 2

Я бы добавил ваше приложение в CDN, например Akamai. Например (в зависимости от того, как ваше приложение структурировано) вы можете кэшировать файлы, такие как те, которые перечислены в списке ниже...

  • index.html
  • Элемент списка
  • application.css
  • application.js
  • templates.js
  • vendors.css
  • vendors.js

Это даст лучшую производительность, чем просто кэширование файлов фрейма Angular на CDN.

Ответ 3

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

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

Вам намного лучше разрешить angular -cli расслоение частей платформы, которые вам нужны. Так как плагин WebPack treeshaking улучшает ваши размеры пакетов, он станет меньше.