Ricerca…


introduzione

La pipeline di asset fornisce un framework per concatenare e minimizzare o comprimere le risorse JavaScript e CSS. Aggiunge anche la possibilità di scrivere queste risorse in altre lingue e pre-processori come CoffeeScript, Sass e ERB. Permette di integrare automaticamente le risorse della tua applicazione con le risorse di altre gemme. Ad esempio, jquery-rails include una copia di jquery.js e abilita le funzionalità AJAX in Rails.

Rake tasks

Di default sprockets-rails viene fornito con le seguenti attività di rake:

  • assets:clean[keep] : rimuove i vecchi asset compilati
  • assets:clobber : rimuove le risorse compilate
  • assets:environment : carica l'ambiente di compilazione delle risorse
  • assets:precompile : compila tutte le risorse denominate in config.assets.precompile

File e direttive manifest

Nel assets initalizer ( config/initializers/assets.rb ) ci sono alcuni file esplicitamente definiti per essere precompilati.

# 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 questo esempio application.coffee e application.scss sono chiamati "file manifest". Questi file devono essere utilizzati per includere altre risorse JavaScript o CSS. Sono disponibili i seguenti comandi:

  • require <path> : Il require funzioni direttive simili a Ruby proprio require . Fornisce un modo per dichiarare una dipendenza su un file nel percorso e garantisce che venga caricato solo una volta prima del file sorgente.
  • require_directory <path> : richiede tutti i file all'interno di una singola directory. È simile al path/* poiché non segue le directory annidate.
  • require_tree <path> : richiede tutti i file nidificati in una directory. Il suo equivalente globale è path/**/* .
  • require_self : fa sì che il corpo del file corrente venga inserito prima di ogni successiva require direttive. Utile nei file CSS, in cui è comune che il file di indice contenga stili globali che devono essere definiti prima di caricare altre dipendenze.
  • stub <path> : rimuove un file dall'essere incluso
  • depend_on <path> : consente di indicare una dipendenza su un file senza includerlo. Questo è usato per scopi di cache. Qualsiasi modifica apportata al file delle dipendenze invaliderà la cache del file sorgente.

Un file application.scss potrebbe avere il seguente aspetto:

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

Un altro esempio è il file application.coffee . Qui con inclusi jquery e Turbolinks :

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

Se non usi CoffeeScript, ma JavaScript semplice, la sintassi sarebbe:

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

Uso di base

Esistono due modi fondamentali per utilizzare la pipeline degli asset:

  1. Quando si esegue un server in modalità di sviluppo, esso pre-elabora e prepara automaticamente le risorse al volo.

  2. In modalità produzione, probabilmente lo utilizzerai per pre-processare, versionizzare, comprimere e compilare le tue risorse. È possibile farlo eseguendo il seguente comando:

    bundle exec rake assets:precompile



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow