2016-08-07 25 views
1

Ich wollte Masonry für mein Projekt Rails 4.2 und installiert es zunächst über die und dann einen Abend verschwendet, bis ich erkannte, dass das Juwel eine veraltete Version der Freimaurerei verwendet. Dies wird mein erster Versuch sein, Javascript zu meiner Rails App ohne ein Juwel hinzuzufügen. Vom installation docs die Optionen sind: herunterladen, CDN, Package Manager (Bower/NPM)Wie installiere ich Mauerwerk oder anderes Javascript in Schienen? (nicht mit Edelsteinen)

I CDN einfach verwendet von

<script src="https://npmcdn.com/[email protected]/dist/masonry.pkgd.min.js"></script> 

an der Spitze meiner Index hinzufügen. html.erb-Datei, die das Skript verwendet. Ist das richtig?

Was ist der Vorteil/Nachteil der Verwendung von CDN statt herunterladen oder Package Manager und wenn ich will mein Projekt masonry.pkgd.min.js manuell hinzufügen, wie ich dies tun würde?

This has some good related info

Antwort

1

Was ist der Vorteil/Nachteil der Verwendung von CDN statt Herunterladen ist

Um die Vor- und Nachteile von CDN vs Lokale Skript kennen, finden Sie Antworten here und here

Wie Sie sie manuell in Projekt

hinzufügen

Es gibt 2 Möglichkeiten

  1. Entweder sie setzen (z. masonry.pkgd.min.js) unter app/assets/javascripts und verlangen, daß sie in application.js als //= require masonry.pkgd.min.js aber nur, wenn Sie diese Zeile nicht haben //= require_tree . Da require_tree lädt alle js Dateien unter app/assets/Javascripts Ordner

  2. Oder setzen sie in vendor/assets/javascripts. Aber in diesem Fall müssen Sie es in application.js Datei benötigen

Mauerwerk Skript von index.html.erb View-Datei an die Spitze hinzugefügt, die das Skript verwenden. Ist das korrekt?

Es ist korrekt in dem Sinne, dass es nur auf diese bestimmte Ansicht geladen wird. Wenn Sie jetzt dasselbe in application.html.erb setzen oder über Assets laden, dann wird das gleiche js-Skript auf alle Ansichten geladen.

+0

fragte er auch, ob seine Verwendung von CDN in index.html.erb durch Aufruf von 'korrekt ist oder nicht. Ich bin an diesem Punkt interessiert, können Sie bitte Infos zu Ihrer Antwort hinzufügen? – davideghz

+0

@davideghz Ich habe meine Meinung hinzugefügt, ob das Hinzufügen von eingebetteten js gut oder schlecht ist. Es kann für verschiedene Personen unterschiedlich sein. –