2015-08-05 9 views
15

Quindi, ho appena realizzato che non ho assolutamente idea di cosa siano i pignoni nei binari.Che cosa significa pignoni nelle rotaie

quando si utilizza uno dei due bootstrap o materialize, viene richiesto di includere lo sprocket (bootstrap-sprocket o materialize-sprocket) nel file application.js.

Tutto ciò che cerco parla della pipeline degli asset e mi confonde di più.

Secondo rubino-guide,

La conduttura attività è tecnicamente più una caratteristica fondamentale di rotaie 4, è stato estratto dal quadro nel rocchetti-rotaie gemma.

e quando ho fatto bundle show sprockets-rails, ho ottenuto:

/Users/Sunday/workspace/resilience/vendor/bundle/ruby/2.1.0/gems/sprockets-rails-2.3.1 

che dimostra che io ho la gemma, almeno.

Ma la mia confusione e la mia domanda è che cosa è l'importanza del sprockets, al contrario di sprockets-rails che ha fatto altre gemme come bootstrap e materialize e probabilmente alcuni altri ad avere sprockets, soprattutto nelle loro file javascript?

Grazie. file di

+0

[Sprockets è una libreria Ruby per la compilazione e la pubblicazione di risorse Web. Presenta una gestione dichiarativa delle dipendenze per le risorse JavaScript e CSS, oltre a una potente pipeline del preprocessore che consente di scrivere risorse in lingue come CoffeeScript, Sass, SCSS e LESS.] (Https://github.com/sstephenson/sprockets) –

risposta

17

Sprockets è una libreria Ruby per la compilazione e la gestione di risorse Web. Prockets consente di organizzare i file JavaScript dell'applicazione in blocchi più gestibili che possono essere distribuiti su un numero di directory e file. Fornisce struttura e pratiche su come includere le risorse nei nostri progetti.

Utilizzando le direttive all'inizio di ogni file JavaScript, Sprockets può determinare da quali file dipende il file JavaScript corrente. Quando si tratta di distribuire l'applicazione, Sprockets utilizza quindi queste direttive per trasformare i file JavaScript multipli in un singolo file per prestazioni migliori.

5
/app/assets/javascripts/application.js 
// This is a manifest file that'll be compiled into including all the files listed below. 
// Add new JavaScript/Coffee code in separate files in this directory and they'll automatically 
// be included in the compiled file accessible from http://example.com/assets/application.js 
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the 
// the compiled file. 
// 
//= require jquery 
//= require jquery_ujs 
//= require_tree . 

application.js è conosciuto come un manifesto e che è gestito internamente da Sprockets. Quando arriva una richiesta per questo file, Sprockets esamina il manifest e compila insieme a tutti i file citati e include il loro contenuto prima di qualsiasi codice in questo file. Sprockets cercherà il file loadpath per questo file e, in questo caso, lo caricherà dalla directory vendor/asset/javascripts del motore jquery-rails.