Suche…


Einführung

Die Asset-Pipeline bietet ein Framework zum Verketten und Minimieren oder Komprimieren von JavaScript- und CSS-Assets. Es bietet außerdem die Möglichkeit, diese Assets in anderen Sprachen und Vorprozessoren wie CoffeeScript, Sass und ERB zu schreiben. Dadurch können Assets in Ihrer Anwendung automatisch mit Assets anderer Edelsteine ​​kombiniert werden. Zum Beispiel enthält jquery-rail eine Kopie von jquery.js und aktiviert AJAX-Funktionen in Rails.

Rechenaufgaben

Standardmäßig werden sprockets-rails mit den folgenden Rake-Aufgaben ausgeliefert:

  • assets:clean[keep] : Entferne alte kompilierte Assets
  • assets:clobber : Kompilierte Assets entfernen
  • assets:environment Laden von Assets
  • assets:precompile : Kompiliert alle in config.assets.precompile genannten config.assets.precompile

Manifestdateien und -richtlinien

Im assets Initalizer ( config/initializers/assets.rb ) sind einige Dateien explizit als vorkompiliert definiert.

# Precompile additional assets.
# application.coffee, application.scss, and all non-JS/CSS in app/assets folder are already added.
# Rails.application.config.assets.precompile += %w( search.js )

In diesem Beispiel sind application.coffee und application.scss sogenannte 'Manifest-Dateien'. Diese Dateien sollten verwendet werden, um andere JavaScript- oder CSS-Elemente einzuschließen. Der folgende Befehl ist verfügbar:

  • require <path> : Die require Richtlinie funktioniert ähnlich wie Rubys eigene require . Es bietet eine Möglichkeit, eine Abhängigkeit von einer Datei in Ihrem Pfad zu erklären, und stellt sicher, dass diese nur einmal vor der Quelldatei geladen wird.
  • require_directory <path> : erfordert alle Dateien in einem einzigen Verzeichnis. Es ist dem path/* ähnlich, da er nicht auf verschachtelte Verzeichnisse folgt.
  • require_tree <path> : erfordert alle geschachtelten Dateien in einem Verzeichnis. Sein glob-Äquivalent ist path/**/* .
  • require_self : bewirkt , dass der Körper der aktuellen Datei eingefügt werden , bevor eine nachfolgende require Richtlinien. Nützlich in CSS-Dateien, in denen die Indexdatei häufig globale Stile enthält, die definiert werden müssen, bevor andere Abhängigkeiten geladen werden.
  • stub <path> : Entfernen Sie eine Datei aus der Aufnahme
  • depend_on <path> : Ermöglicht das depend_on <path> einer Abhängigkeit von einer Datei, ohne sie depend_on <path> . Dies wird zum Zwischenspeichern verwendet. Durch Änderungen an der Abhängigkeitsdatei wird der Cache der Quelldatei ungültig.

Eine application.scss Datei könnte folgendermaßen aussehen:

/*
 *= require bootstrap
 *= require_directory .
 *= require_self
 */

Ein anderes Beispiel ist die Datei application.coffee . Hier mit jquery und Turbolinks :

#= require jquery2
#= require jquery_ujs
#= require turbolinks
#= require_tree .

Wenn Sie nicht CoffeeScript verwenden, sondern nur JavaScript, lautet die Syntax:

//= require jquery2
//= require jquery_ujs
//= require turbolinks
//= require_tree .

Grundlegende Verwendung

Die Asset-Pipeline kann auf zwei Arten verwendet werden:

  1. Wenn Sie einen Server im Entwicklungsmodus ausführen, werden Ihre Assets automatisch im Voraus vorverarbeitet und vorbereitet.

  2. Im Produktionsmodus verwenden Sie sie wahrscheinlich zur Vorverarbeitung, Versionierung sowie Komprimierung und Kompilierung Ihrer Assets. Führen Sie dazu den folgenden Befehl aus:

    bundle exec rake assets:precompile



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow