Загрузка моего приложения CLI для ember в настоящее время включает загрузку файла 3Mb, большинство из которых состоит из общих библиотек, таких как jquery, ember, bootstrap и т. Д. 3Mb не является огромным, но он становится заметным по медленному соединению, поэтому я хочу отключить все общие библиотеки и вместо этого получайте их из CDN. Идея состоит в том, что они будут кэшироваться браузером, чтобы они не нуждались в повторной загрузке каждый раз, когда я обновляю свое приложение (что очень часто на данный момент). Я прочитал вопрос this, в котором указано, что легко добавить <script...>
в index.html, но я не могу понять, как им сказать ember, чтобы не упаковать эти библиотеки в vendor.js.Ember CLI располагается с CDN?
ответ
В brocfile.js
(ember-cli-build.js
в более новых версиях) изменить конструктор
var app = new EmberApp({
vendorFiles: {
'jquery.js': false,
'handlebars.js': false,
'ember.js': false
}
});
Теперь включают в вашем index.html старый путь моды и наслаждаться тем, что в значительной степени каждый пользовательский браузер уже имеет кешированный jquery, даже если ранее он не посещал ваш сайт.
docs обычно имеют ответ на этот вопрос:
Вам необходимо установить Бауэр, менеджер пакетов, который держит ваши интерфейсных зависимостей (в том числе JQuery, Эмбер и QUnit) до настоящего времени. Это так же просто, как работает:
Если вы проверяете файл bower.json вы найдете JQuery и все остальные, LIBS bower uninstall их, и вы сделали.
Это то, что вы получаете по умолчанию с 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/
Каково преимущество отпечатка пальца по отношению к CDN? – SuperUberDuper
@SuperUberDuper отпечатки пальцев избавляет вас от головной боли кэшированных файлов на CDN – George
Каков наилучший способ развертывания приложения ember для некоторых cdb? – SuperUberDuper
Я думаю, что он имел в виду что-то по строкам этого [node.js module] (https://github.com/niftylettuce/express-cdn) – George