javascript - rails - Lo que significan los piñones en los rieles
sprockets-rails (2)
Entonces, me acabo de dar cuenta de que no tengo ninguna idea de qué son los Sprockets en los rieles.
cuando se utiliza cualquiera de los bootstrap o se materializa, se solicita que incluya la sprocket
(bootstrap-sprocket o materialize-sprocket) en el archivo application.js
.
Todo lo que busco habla del flujo de activos y me confunde más.
Según rubí-guías,
Técnicamente, la tubería de activos ya no es una característica principal de los Rieles 4, se ha extraído del marco hacia la gema de rieles de rueda dentada.
y cuando hice un bundle show sprockets-rails
, obtuve:
/Users/Sunday/workspace/resilience/vendor/bundle/ruby/2.1.0/gems/sprockets-rails-2.3.1
Lo que demuestra que tengo la gema, al menos.
Pero mi confusión y mi pregunta es: ¿cuál es la importancia de las sprockets
, a diferencia de sprockets-rails
que hicieron que otras gemas, como el bootstrap
y la materialize
y probablemente algunas otras tengan sprockets
, especialmente en sus archivos de JavaScript?
Gracias.
Sprockets es una biblioteca de Ruby para compilar y servir activos web. Sprockets permite organizar los archivos JavaScript de una aplicación en trozos más pequeños y manejables que pueden distribuirse en varios directorios y archivos. Proporciona estructura y prácticas sobre cómo incluir activos en nuestros proyectos.
Al usar directivas al inicio de cada archivo JavaScript, Sprockets puede determinar de qué archivos depende un archivo JavaScript. Cuando se trata de implementar su aplicación, Sprockets usa estas directivas para convertir sus múltiples archivos JavaScript en un solo archivo para un mejor rendimiento.
/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
archivo application.js
se conoce como manifiesto y es administrado internamente por Sprockets
. Cuando llega una solicitud para este archivo, Sprockets
mira el manifiesto y compila todos los archivos que se mencionan en él e incluye su contenido antes de cualquier código en este archivo. Sprockets
buscará la loadpath
de loadpath
para este archivo y, en este caso, lo cargará desde el directorio del vendor/asset/javascripts
del motor jquery-rails
.