Zoeken…


Invoering

De activapijplijn biedt een raamwerk om JavaScript- en CSS-middelen samen te voegen en te verkleinen of te comprimeren. Het voegt ook de mogelijkheid toe om deze middelen in andere talen en pre-processors zoals CoffeeScript, Sass en ERB te schrijven. Hiermee kunnen activa in uw toepassing automatisch worden gecombineerd met activa van andere edelstenen. Jquery-rails bevat bijvoorbeeld een kopie van jquery.js en maakt AJAX-functies in Rails mogelijk.

Hark taken

Standaard worden sprockets-rails geleverd met de volgende harktaken:

  • assets:clean[keep] : verwijder oude gecompileerde activa
  • assets:clobber : verwijder gecompileerde activa
  • assets:environment : laad de compileeromgeving voor activa
  • assets:precompile : compileer alle assets die worden genoemd in config.assets.precompile

Manifest bestanden en richtlijnen

In de assets initalizer ( config/initializers/assets.rb ) zijn enkele bestanden expliciet gedefinieerd om vooraf te worden gecompileerd.

# 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 dit voorbeeld worden de application.coffee en application.scss zogenaamde 'Manifest Files' genoemd. Deze bestanden moeten worden gebruikt om andere JavaScript- of CSS-middelen op te nemen. De volgende opdracht is beschikbaar:

  • require <path> : de functie require functies vergelijkbaar met Ruby's eigen require . Het biedt een manier om een afhankelijkheid van een bestand in uw pad aan te geven en zorgt ervoor dat het slechts eenmaal voor het bronbestand wordt geladen.
  • require_directory <path> : vereist alle bestanden in een enkele map. Het is vergelijkbaar met path/* omdat het geen geneste mappen volgt.
  • require_tree <path> : vereist alle geneste bestanden in een map. Het globale equivalent is path/**/* .
  • require_self : zorgt ervoor dat de hoofdtekst van het huidige bestand wordt ingevoegd voordat daaropvolgende richtlijnen require . Handig in CSS-bestanden, waar het indexbestand vaak algemene stijlen bevat die moeten worden gedefinieerd voordat andere afhankelijkheden worden geladen.
  • stub <path> : verwijder een bestand dat wordt opgenomen
  • depend_on <path> : hiermee kunt u een afhankelijkheid van een bestand depend_on <path> zonder het op te nemen. Dit wordt gebruikt voor cachingdoeleinden. Wijzigingen in het afhankelijkheidsbestand maken de cache van het bronbestand ongeldig.

Een application.scss bestand kan er als volgt uitzien:

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

Een ander voorbeeld is het bestand application.coffee . Hier met inbegrip van jquery en Turbolinks :

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

Als u geen CoffeeScript gebruikt, maar gewoon JavaScript, zou de syntaxis zijn:

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

Basisgebruik

Er zijn twee basismanieren waarop de activapijplijn wordt gebruikt:

  1. Wanneer u een server in de ontwikkelingsmodus gebruikt, worden uw bedrijfsmiddelen onmiddellijk vooraf verwerkt en voorbereid.

  2. In de productiemodus zult u het waarschijnlijk gebruiken om uw bedrijfsmiddelen vooraf te verwerken, te versiebeheer en te comprimeren en te compileren. U kunt dit doen door de volgende opdracht uit te voeren:

    bundle exec rake assets:precompile



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow