2014-10-03 6 views
5

In meiner App, entwickelt mit ember-cli, brauche ich auch einige externe Ressourcen wie Bootstrap; jetzt bin ich es durch die Brocfile importieren:Verwenden von CDN mit ember-cli

app.import('bower_components/bootstrap/dist/css/bootstrap.css'); 
app.import('bower_components/bootstrap/dist/js/bootstrap.js'); 

Ist es möglich, das CDN offline ist ein CDN anstelle von lokalen Datei, definieren auch einen Rückruf an lokale Datei zu verwenden, falls?

+0

Ich bin mir nicht sicher, dass es einen großen Vorteil dabei gibt, da alle Ihre Vermögenswerte kombiniert werden und von ember-cli im Rahmen der [Zusammenstellung der Assets] minimiert werden (http://www.ember-cli.com/ # Asset-Kompilierung). Welchen Nutzen willst du hier haben? – Dhaulagiri

+1

Nun, ich glaube, dass die Verwendung von CDNs eine gute Praxis ist, insbesondere für umfangreichere Bibliotheken, da viele Websites sie verwenden und viele Benutzer sie bereits im Cache ihres Browsers haben; Es ist jedoch auch eine gute Methode, einen Rückruf zu definieren, selbst wenn CDNs stark sind. Ich tue dies von meiner ersten Web-App, nach dem Lesen eines Dokuments über Best Practices –

+0

Sie könnten einfach die Skript-Tags an die CDN in 'index.html' Ich nehme an – Dhaulagiri

Antwort

1

Ember-cli-cdn klingt wie eine Teillösung für das Problem zu mir. Hier ist ein Zitat aus der Readme:

Dieses Addon ermöglicht die Arbeit mit lokalen Kopien von Bibliotheken während der Entwicklung, und automatisieren dann die Umstellung auf Ihre CDN-Version, wenn Sie Ihre Anwendung bereitstellen.

Aber es löst nicht das Problem "Fallback auf lokale Datei, wenn CDN offline ist". Das einzige mir bekannte Muster (das auch in ember verwendet wird) besteht darin, das Skript am Ende des HTML zu laden, was das Rendern der Seite zulässt, selbst wenn das CDN nicht antwortet.

+0

Es sieht so aus, als hätte es jetzt den Fallback (falls nicht, als Sie diese Antwort ursprünglich gepostet haben), basierend auf dem Beispielergebnis auf [diese Seite] (https://github.com/dakal-oleksandr/ember-cli- CDN). In diesem Beispiel nach dem CDN-Ladevorgang von jQuery: ', die auf eine lokale Datei zurückfallen wird. –