2014-10-16 2 views
5

Загрузка моего приложения CLI для ember в настоящее время включает загрузку файла 3Mb, большинство из которых состоит из общих библиотек, таких как jquery, ember, bootstrap и т. Д. 3Mb не является огромным, но он становится заметным по медленному соединению, поэтому я хочу отключить все общие библиотеки и вместо этого получайте их из CDN. Идея состоит в том, что они будут кэшироваться браузером, чтобы они не нуждались в повторной загрузке каждый раз, когда я обновляю свое приложение (что очень часто на данный момент). Я прочитал вопрос this, в котором указано, что легко добавить <script...> в index.html, но я не могу понять, как им сказать ember, чтобы не упаковать эти библиотеки в vendor.js.Ember CLI располагается с CDN?

ответ

6

В brocfile.js (ember-cli-build.js в более новых версиях) изменить конструктор

var app = new EmberApp({ 
    vendorFiles: { 
    'jquery.js': false, 
    'handlebars.js': false, 
    'ember.js': false 
    } 
}); 

Теперь включают в вашем index.html старый путь моды и наслаждаться тем, что в значительной степени каждый пользовательский браузер уже имеет кешированный jquery, даже если ранее он не посещал ваш сайт.

-1

docs обычно имеют ответ на этот вопрос:

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

Если вы проверяете файл bower.json вы найдете JQuery и все остальные, LIBS bower uninstall их, и вы сделали.

+0

Я думаю, что он имел в виду что-то по строкам этого [node.js module] (https://github.com/niftylettuce/express-cdn) – George

-1

Это то, что вы получаете по умолчанию с ember-cli. From the manual:

Когда среда является производство (например ember build --environment=production), аддон будет автоматически отпечатки пальцев ваши JS, CSS, PNG, JPG и GIF активов путем присоединения к md5 контрольной суммы в конце имени файла (например, assets/yourapp-9c2cbd818d09a4a742406c6cb8219b3b.js) , Кроме того, ваши html, js и css файлы будут переписаны, чтобы включить новое имя.

Вы можете изменить ваш Brocfile.js, чтобы сказать ему, что базовый URL для КДС является:

prepend - По умолчанию: '' - Строка предварять для всех активов. Полезно для CDN URLs как https://subdomain.cloudfront.net/

+0

Каково преимущество отпечатка пальца по отношению к CDN? – SuperUberDuper

+0

@SuperUberDuper отпечатки пальцев избавляет вас от головной боли кэшированных файлов на CDN – George

+0

Каков наилучший способ развертывания приложения ember для некоторых cdb? – SuperUberDuper