Grundlegendes zum Asset-Pipeline-Plugin

Ruby on Rails oder einfach Rails ist ein wunderbares Webanwendungs-Framework, geschrieben in Ruby. Es bietet Dienstleistungen für die Gestaltung von Webseiten an. Aufgrund seiner benutzerfreundlichen Funktionen, der geringeren Komplexität und der damit insgesamt verbesserten Effizienz hat es die Stimmen von Technikfreaks für seine schnelleren Dienste bei der Entwicklung einer Website gewonnen. Eine solche Funktion für RoR ist die Asset Pipeline.

Die Asset-Pipeline ist eine sehr leistungsstarke Funktion, die Rails bietet, um eine Vielzahl von Problemen im Zusammenhang mit dem Webdesign zu lösen.

Es minimiert den manuellen Aufwand, indem es alle Stylesheets, Javascript-Dateien, Bilder usw. wann immer möglich kompiliert und verarbeitet und für den Einsatz vorbereitet. Die Asset-Pipeline kann die Qualität der Anwendung hinsichtlich Leistung und Flexibilität verbessern.

Die Asset-Pipeline:

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.

Die Asset-Pipeline ist technisch gesehen nicht mehr ein Kernmerkmal von Rails 4, sie wurde aus dem Framework in das Sprockets-Rails-Juwel extrahiert.

Die Asset-Pipeline ist standardmäßig aktiviert.

Wir können die Asset-Pipeline beim Erstellen einer neuen Anwendung deaktivieren, indem wir die Option –skip-sprockets übergeben.

Schienen neuer App-Name –skip-sprockets

Rails 4 fügt Ihrer Gemfile automatisch die Sass-Rails, Coffee-Rails und Uglifier-Gems hinzu, die von Sprockets für die Asset-Komprimierung verwendet werden:

Juwel 'Sass-Rails'

Edelstein „hässlich“

Juwel 'Kaffeeschienen'

Durch die Verwendung der Option –skip-sprockets wird verhindert, dass Rails 4 Sass-Rails und Uglifier zur Gemfile hinzufügt. Wenn Sie also später die Asset-Pipeline aktivieren möchten, müssen Sie diese Gems zu Ihrer Gemfile hinzufügen. Außerdem wird beim Erstellen einer Anwendung mit der Option –skip-sprockets eine etwas andere Datei config/application.rb mit einer auskommentierten Anforderungsanweisung für das Sprockets-Railtie generiert. Sie müssen den Kommentaroperator in dieser Zeile entfernen, um später die Asset-Pipeline zu aktivieren:

# erfordert „Kettenräder/Railtie“

Um Asset-Komprimierungsmethoden festzulegen, legen Sie die entsprechenden Konfigurationsoptionen in Production.rb fest – config.assets.css_compressor für Ihr CSS und config.assets.js_compressor für Ihr JavaScript:

config.assets.css_compressor = :yui

config.assets.js_compressor = :uglifier

So verwenden Sie die Asset-Pipeline:

In früheren Versionen von Rails befanden sich alle Assets in öffentlichen Unterverzeichnissen wie Bilder, Javascripts und Stylesheets. Mit der Asset-Pipeline ist der bevorzugte Speicherort für diese Assets nun das Verzeichnis app/assets. Dateien in diesem Verzeichnis werden von der Sprockets-Middleware bereitgestellt.

Vermögenswerte können weiterhin in der öffentlichen Hierarchie platziert werden. Alle öffentlichen Assets werden von der Anwendung oder dem Webserver als statische Dateien bereitgestellt, wenn config.serve_static_files auf true gesetzt ist. Sie sollten app/assets für Dateien verwenden, die vor der Bereitstellung einer Vorverarbeitung unterzogen werden müssen.

In der Produktion kompiliert Rails diese Dateien standardmäßig in public/assets vor. Die vorkompilierten Kopien werden dann vom Webserver als statische Assets bereitgestellt. Die Dateien in app/assets werden niemals direkt in der Produktion bereitgestellt.

Controller-spezifische Vermögenswerte:

Wenn Sie ein Gerüst oder einen Controller generieren, generiert Rails auch eine JavaScript-Datei (oder eine CoffeeScript-Datei, wenn sich das Coffee-Rails-Gem in der Gem-Datei befindet) und eine Cascading Style Sheet-Datei (oder eine SCSS-Datei, wenn sich Sass-Rails in der Gem-Datei befindet) für dieser Controller. Darüber hinaus generiert Rails beim Generieren eines Gerüsts die Datei scaffolds.css (oder scaffolds.css.scss, wenn sass-rails in der Gemfile enthalten ist).

Wenn Sie beispielsweise einen ProjectsController generieren, fügt Rails auch eine neue Datei unter app/assets/javascripts/projects.js.coffee und eine weitere unter app/assets/stylesheets/projects.css.scss hinzu. Standardmäßig sind diese Dateien mithilfe der require_tree-Direktive sofort für die Verwendung durch Ihre Anwendung bereit. Weitere Informationen zu require_tree finden Sie unter Manifestdateien und Anweisungen.

Sie können sich auch dafür entscheiden, Controller-spezifische Stylesheets und JavaScript-Dateien nur in die jeweiligen Controller einzubinden, indem Sie Folgendes tun:

<%= javascript_include_tag params[:controller] %> oder <%= stylesheet_link_tag params[:controller] %>

Assets vorkompilieren:

Rails wird mit einer Rake-Aufgabe zum Kompilieren der Asset-Manifeste und anderer Dateien in der Pipeline geliefert.

Kompilierte Assets werden an den in config.assets.prefix angegebenen Speicherort geschrieben. Standardmäßig ist dies das Verzeichnis /assets.

Sie können diese Aufgabe während der Bereitstellung auf dem Server aufrufen, um kompilierte Versionen Ihrer Assets direkt auf dem Server zu erstellen. Informationen zum lokalen Kompilieren finden Sie im nächsten Abschnitt.

Die Rake-Aufgabe lautet:

$ RAILS_ENV=Produktions-Bin/Rake-Assets: vorkompilieren

Capistrano (v2.15.1 und höher) enthält ein Rezept, um dies bei der Bereitstellung zu handhaben. Fügen Sie Capfile die folgende Zeile hinzu:

„deploy/assets“ laden

Dadurch wird der in config.assets.prefix angegebene Ordner mit shared/assets verknüpft. Wenn Sie diesen freigegebenen Ordner bereits verwenden, müssen Sie Ihre eigene Bereitstellungsaufgabe schreiben.

Es ist wichtig, dass dieser Ordner von Bereitstellungen gemeinsam genutzt wird, damit remote zwischengespeicherte Seiten, die auf die alten kompilierten Assets verweisen, weiterhin für die Lebensdauer der zwischengespeicherten Seite funktionieren.

Live-Zusammenstellung:

Unter bestimmten Umständen möchten wir möglicherweise eine Live-Kompilierung verwenden. In diesem Modus werden alle Anfragen nach Assets in der Pipeline direkt von Sprockets bearbeitet.

Um diesen Optionssatz zu aktivieren:

config.assets.compile = true

Bei der ersten Anfrage werden die Assets wie oben in der Entwicklung beschrieben kompiliert und zwischengespeichert, und die in den Hilfsprogrammen verwendeten Manifestnamen werden so geändert, dass sie den MD5-Hash enthalten.

Sprockets setzt außerdem den Cache-Control-HTTP-Header auf max-age=31536000. Dies signalisiert allen Caches zwischen Ihrem Server und dem Client-Browser, dass dieser Inhalt (die bereitgestellte Datei) ein Jahr lang zwischengespeichert werden kann. Dies führt dazu, dass die Anzahl der Anfragen für dieses Asset von Ihrem Server reduziert wird. Es besteht eine gute Chance, dass sich das Asset im lokalen Browser-Cache oder in einem Zwischencache befindet.

Dieser Modus verbraucht mehr Speicher, ist leistungsschwächer als der Standardmodus und wird nicht empfohlen.

Wenn Sie eine Produktionsanwendung auf einem System ohne bereits vorhandene JavaScript-Laufzeiten bereitstellen, möchten Sie möglicherweise eine zu Ihrer Gemfile:-Gruppe :Production hinzufügen

Edelstein 'Therubyracer'

Ende

Railscarma hat Ruby on Rails von Anfang an implementiert, um es zu entwickeln, zu schulen, bereitzustellen, einen Beitrag zur Rails-Community zu leisten und das Beste zu bieten Ruby on Rails-Entwicklungsdienste. RailsCarma bietet Unternehmen auf der ganzen Welt End-to-End-Ruby-on-Rails-Dienste einschließlich Beratung, Architektur, Aufbau, Management und Erweiterung. Sie können Ruby on Rails-Entwickler auch über einen einfachen Einstellungsprozess einstellen.Kontaktiere uns mehr wissen.

Mehr lesen : 

Nehmen Sie Kontakt mit uns auf.

Abonnieren Sie die neuesten Updates

zusammenhängende Posts

Hinterlasse einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

de_DEGerman