Bootstrap-sass Gem vs. CDN

8

Verschiedene Ruby on Rails-Tutorials unterstützen das Einschmieren des Bootstrap-Sass-Edelsteins. Warum ist das eine Konvention, anstatt auf ein CDN zu zeigen?

Ich habe in den Header meiner App eingefügt:

%Vor%

Und in der Fußzeile:

%Vor%

Angenommen, ich arbeite immer von einer Entwicklungsbox, die mit dem Internet verbunden ist: Was ist der Grund, weshalb ich den Bootstrap-Juwel verwende, anstatt nur auf ein CDN zu zeigen? Ist es nicht immer schneller, auf ein CDN zu verweisen, wo ein Client die Datei wahrscheinlich bereits zwischengespeichert hat?

    
woodenfox 12.10.2015, 04:45
quelle

2 Antworten

10

Der wahrscheinlichste Grund dafür, dass Rails Tutorials das bootstrap-sass Juwel vorschlagen, ist nur eine Frage der Bequemlichkeit; Als Entwickler von Rails sind wir daran gewöhnt, eine Zeile zu unserer Gemfile hinzuzufügen, um Bibliotheken von Drittanbietern zu integrieren.

Es gibt zusätzliche Vorteile für das Gem: Nachdem Sie bundle install ausgeführt haben, benötigen Sie keine Internetverbindung, um die Assets Ihrer Entwicklungsumgebung zu laden (keine Verbindung zu einem externen CDN erforderlich). Sie können auch SASS verwenden, um Bootstrap-Mixin-Variablen zu überschreiben und das Framework anzupassen.

Abgesehen von diesen Vorteilen müssen Sie, wenn Sie Bootstrap nicht anpassen, das Schmuckstück boostrap-sass in der Produktion nicht verwenden. Tatsächlich ist Ihre Argumentation über Kunden, die möglicherweise bereits CDN-gehostete Versionen von gängigen JS / CSS-Frameworks haben, sicherlich gültig.

Kurze Antwort: Denken Sie nicht an das boostrap-sass Juwel als Konvention. Es ist ein guter Ausgangspunkt für die Anpassung, aber wenn keine Anpassung erforderlich ist, ist es durchaus sinnvoll, mit einem CDN zu gehen.

    
Sean Huber 12.10.2015, 05:00
quelle
-1

Wenn Sie das CDN verwenden, erhalten Sie nur CSS, um Ihre HTML-Dateien mit einer bestimmten Bootstrap-Version zu verbinden. Die Verwendung der SASS / LESS-Version von Bootstrap dagegen ermöglicht es Ihnen, semantische Klassen in Ihren HTML-Code einzufügen und die Verbindung zwischen Ihren semantischen Klassen und Bootstrap in Ihren appspezifischen SASS / LESS-Dateien herzustellen (mit @import , @extend .. Aussagen)

Wenn Sie diese Technik mit Bedacht verwenden, werden Sie kleinere Downloads erhalten, da Sie nur die Teile des Bootstraps importieren, die Sie tatsächlich in Ihrer Anwendung verwenden, und Sie werden Probleme sauber trennen, so dass Sie Sass / Geringe Frameworks wechseln können ohne Ihre HTML-Dateien (im Idealfall) zu berühren.

    
bert bruynooghe 11.10.2017 09:23
quelle