Buscar..


Introducción

El flujo de activos proporciona un marco para concatenar y minimizar o comprimir los activos de JavaScript y CSS. También agrega la capacidad de escribir estos activos en otros lenguajes y preprocesadores como CoffeeScript, Sass y ERB. Permite que los activos en tu aplicación se combinen automáticamente con los activos de otras gemas. Por ejemplo, jquery-rails incluye una copia de jquery.js y habilita las funciones AJAX en Rails.

Tareas de rastrillo

Por defecto, las sprockets-rails se envían con las siguientes tareas de rake:

  • assets:clean[keep] : eliminar activos compilados antiguos
  • assets:clobber : eliminar los activos compilados
  • assets:environment : cargar entorno de compilación de activos
  • assets:precompile : compile todos los activos nombrados en config.assets.precompile

Archivos y directivas de manifiesto

En el initalizer de assets ( config/initializers/assets.rb ) hay algunos archivos definidos explícitamente para ser precompilados.

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

En este ejemplo, application.coffee y application.scss se denominan 'Archivos de manifiesto'. Estos archivos deben usarse para incluir otros recursos de JavaScript o CSS. Los siguientes comandos están disponibles:

  • require <path> : las funciones de la directiva require similares a las de Ruby require . Proporciona una forma de declarar una dependencia de un archivo en su ruta y asegura que solo se cargue una vez antes del archivo de origen.
  • require_directory <path> : requiere todos los archivos dentro de un solo directorio. Es similar a la path/* ya que no sigue directorios anidados.
  • require_tree <path> : requiere todos los archivos anidados en un directorio. Su equivalente global es path/**/* .
  • require_self : hace que el cuerpo del archivo actual se inserte antes de cualquier directiva de require posterior. Útil en archivos CSS, donde es común que el archivo de índice contenga estilos globales que deben definirse antes de que se carguen otras dependencias.
  • stub <path> : elimina un archivo para que no se incluya
  • depend_on <path> : le permite establecer una dependencia en un archivo sin incluirlo. Esto se utiliza para fines de almacenamiento en caché. Cualquier cambio realizado en el archivo de dependencia invalidará la memoria caché del archivo de origen.

Un archivo application.scss podría verse como:

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

Otro ejemplo es el archivo application.coffee . Aquí con la inclusión de jquery y Turbolinks :

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

Si no utilizas CoffeeScript, pero solo JavaScript, la sintaxis sería:

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

Uso básico

Hay dos formas básicas en que se utiliza el flujo de activos:

  1. Al ejecutar un servidor en modo de desarrollo, automáticamente procesa y prepara sus activos sobre la marcha.

  2. En el modo de producción, probablemente lo utilice para preprocesar, versionar, comprimir y compilar sus activos. Puedes hacerlo ejecutando el siguiente comando:

    bundle exec rake assets:precompile



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow