Sök…


Introduktion

Tillgångsrörledningen ger ett ramverk för att sammanfoga och förminska eller komprimera JavaScript- och CSS-tillgångar. Det ger också möjligheten att skriva dessa tillgångar på andra språk och förprocessorer som CoffeeScript, Sass och ERB. Det gör att tillgångar i din applikation automatiskt kan kombineras med tillgångar från andra ädelstenar. Till exempel innehåller jquery-rails en kopia av jquery.js och aktiverar AJAX-funktioner i Rails.

Rake uppgifter

Som standard levereras sprockets-rails med följande rake-uppgifter:

  • assets:clean[keep] : Ta bort gamla sammanställda tillgångar
  • assets:clobber : Ta bort sammanställda tillgångar
  • assets:environment : Ladda tillgångar sammanställa miljö
  • assets:precompile : Samla alla tillgångar som config.assets.precompile i config.assets.precompile

Manifestfiler och direktiv

I assets ( config/initializers/assets.rb ) finns några filer som uttryckligen är definierade för att förkompileras.

# 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 )

I det här exemplet är application.coffee och application.scss så kallade 'Manifest Files'. Dessa filer bör användas för att inkludera andra JavaScript- eller CSS-tillgångar. Följande kommando är tillgängliga:

  • require <path> : Den require direktivet liknande funktioner Ruby egen require . Det ger ett sätt att förklara ett beroende av en fil i din sökväg och säkerställer att den bara laddas en gång innan källfilen.
  • require_directory <path> : kräver alla filer i en enda katalog. Det liknar path/* eftersom det inte följer kapslade kataloger.
  • require_tree <path> : kräver alla kapslade filer i en katalog. Dess globala ekvivalent är path/**/* .
  • require_self : gör att filen i den aktuella filen infogas innan några efterföljande require direktiv. Användbart i CSS-filer, där det är vanligt att indexfilen innehåller globala stilar som måste definieras innan andra beroenden laddas.
  • stub <path> : ta bort en fil från att inkluderas
  • depend_on <path> : Tillåter dig att ange ett beroende av en fil utan att inkludera den. Detta används för cachningsändamål. Alla ändringar som görs i beroendefilen kommer att ogiltiga källfilens cache.

En application.scss fil kan se ut:

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

Ett annat exempel är application.coffee filen. Här med inklusive jquery och Turbolinks :

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

Om du inte använder CoffeeScript, utan vanligt JavaScript, skulle syntaxen vara:

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

Grundläggande användning

Det finns två grundläggande sätt som tillgångsrörledningen används:

  1. När du kör en server i utvecklingsläge bearbetar och förbereder den automatiskt dina tillgångar on-the-fly.

  2. I produktionsläge använder du förmodligen det för att förbereda, versionera och komprimera och sammanställa dina tillgångar. Du kan göra det genom att köra följande kommando:

    bundle exec rake assets:precompile



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow