2014-10-16 9 views
5

meine glut CLI App zur Zeit beteiligt Laden einer 3Mb Datei heruntergeladen haben, von denen die meisten von gemeinsamen Bibliotheken wie jQuery, aber es wird nicht riesig über eine langsame Verbindung noticable, Ember, Bootstrap usw. 3Mb besteht, damit ich aus abzustreifen wollen alle gängigen Bibliotheken und holen sie stattdessen von einem CDN. Die Idee ist, dass sie durch den Browser im Cache gespeichert werden würden, dass sie nicht brauchen, jedes Mal neu heruntergeladen werden, ich meine App aktualisieren (die zur Zeit sehr häufig ist). Ich habe this Frage zu lesen, die darauf hinweist, dass es einfach ist, einfach fügen Sie ein <script...> index.html, aber ich kann sie nicht herausfinden, wie Ember sagen nicht diese Bibliotheken in vendor.js zu verpacken.Ember CLI Depends von CDN?

Antwort

6

In brocfile.js (ember-cli-build.js in neueren Versionen) an den Konstruktor ändern

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

Jetzt die in Ihrer index.html die alte Art und Weise Art und Weise umfassen und genießen die Tatsache, dass so ziemlich Jeder Benutzer-Browser hat jQuery bereits im Cache, auch wenn er Ihre Website noch nicht besucht hat.

-1

Die docs haben in der Regel eine Antwort darauf:

Sie werden Bower installieren müssen, einen Paket-Manager, die Front-End-Abhängigkeiten hält (einschließlich JQuery, Ember und QUnit) auf dem neuesten Stand. Dies ist so einfach wie Laufen:

Wenn Sie Ihre bower.json Datei überprüfen werden Sie jquery und alle anderen Bibliotheken finden, bower uninstall sie und du bist fertig.

+0

Ich denke, er bezog sich auf etwas in Anlehnung an dieses [node.js Modul] (https://github.com/niftyletuce/express-cdn) – George

-1

Dies ist etwas, das man mit glut-cli standardmäßig erhalten. From the manual:

Wenn die Umgebung automatisch js, css, png, jpg Fingerabdruck und gif Vermögenswerte Produktion (zB ember build --environment=production), der Add-on ist, wird ein MD5-Prüfsumme an das Ende ihrer Dateinamen (zB assets/yourapp-9c2cbd818d09a4a742406c6cb8219b3b.js) durch Anhänge . Außerdem werden Ihre html-, js- und css-Dateien so umgeschrieben, dass sie den neuen Namen enthalten.

Sie können dann ändern Sie Ihre Brocfile.js es zu sagen, was die Basis-URL für Ihre CDN ist:

prepend - Standard: '' - Ein String auf alle Vermögenswerte vorangestellt wird. Nützlich für CDN Urls wie https://subdomain.cloudfront.net/

+0

Was ist der Vorteil mit dem Fingerabdruck in Bezug auf CDN? – SuperUberDuper

+0

@SuperUberDuper Fingerabdrucks erspart Ihnen die Kopfschmerzen von Cache-Dateien auf dem CDN – George

+0

Was ist der beste Weg, um eine ember App zu einem gewissen cdb zu implementieren? – SuperUberDuper