Pipeline d'actifs dans Rails 3.1.0

Le pipeline d'actifs fournit un cadre pour concaténer et réduire ou compresser les actifs JavaScript et CSS. Il ajoute également la possibilité d'écrire ces actifs dans d'autres langages tels que CoffeeScript, Sass et ERB. Dans Rails 3.1, le pipeline d'actifs Rails est activé par défaut. Il peut être désactivé dans config/application.rb en plaçant cette ligne dans la définition de la classe d'application :

config.assets.enabled = faux

nous pouvons également désactiver le pipeline d'actifs lors de la création d'une nouvelle application en passant l'option —skip-sprockets.

rails le nouveau nom de l'application -skip-sprockets

Caractéristiques du pipeline d'actifs :
1.Concaténer les actifs

Cette fonctionnalité est importante dans un environnement de production, car elle peut réduire le nombre de requêtes qu'un navigateur doit effectuer pour afficher une page Web. Les navigateurs Web sont limités dans le nombre de requêtes qu'ils peuvent effectuer en parallèle, donc moins de requêtes peut signifier un chargement plus rapide de l'application.

Des rails 2.x a introduit la possibilité de concaténer les ressources JavaScript et CSS en plaçant :cache => true à la fin des méthodes javascript_include_tag et stylesheet_link_tag. Mais cette technique présente certaines limites. Par exemple, il ne peut pas générer les caches à l’avance et il n’est pas en mesure d’inclure de manière transparente les ressources fournies par des bibliothèques tierces.

2.Minification ou compression des actifs

Pour les fichiers CSS, la compression est effectuée en supprimant les espaces et les commentaires. Pour JavaScript, des processus plus complexes peuvent être appliqués. nous pouvons choisir parmi un ensemble d'options intégrées ou spécifier les nôtres.

3. Il permet de coder des actifs via un langage de niveau supérieur, avec une précompilation jusqu'aux actifs réels. Les langages pris en charge incluent Sass pour CSS, CoffeeScript pour JavaScript et ERB pour les deux par défaut. Dans les anciennes versions du pipeline d'actifs Rails, tous les actifs sont situés dans des sous-répertoires publics tels que les images, les javascripts et les feuilles de style.

Avec le pipeline d'actifs, l'emplacement privilégié pour ces actifs est désormais le répertoire app/assets. Les fichiers de ce répertoire sont servis par le middleware Sprockets inclus dans la gem sprockets. Les actifs peuvent toujours être placés dans la hiérarchie publique. Tous les actifs publics seront servis sous forme de fichiers statiques par l'application ou le serveur Web. nous devrions utiliser app/assets pour les fichiers qui doivent subir un prétraitement avant d'être servis.

En production, Rails précompile ces fichiers en public/assets par défaut. Les copies précompilées sont ensuite servies comme ressources statiques par le serveur Web. Les fichiers dans app/assets ne sont jamais servis directement en production.

Lorsque nous générons un échafaudage ou un contrôleur, Rails génère également un fichier JavaScript (ou un fichier CoffeeScript si la gemme coffee-rails est dans le Gemfile) et un fichier de feuille de style en cascade (ou un fichier SCSS si sass-rails est dans le Gemfile) pour ce contrôleur.

Organisation des actifs :

La plus grande différence pratique entre les applications Rails 3.0 et Rails 3.1 réside dans le changement de l'emplacement des fichiers d'actifs tels que les images, les feuilles de style et les fichiers JavaScript. Dans les versions précédentes du pipeline d'actifs Rails, ces fichiers se trouvaient tous dans le répertoire public/ :

public/images/

public/feuilles de style/

public/javascripts/

Dans Rails 3.1 et Rails 3.2.3, l'emplacement de ces fichiers diffère selon qu'ils sont créés par nous ou proviennent d'un fournisseur externe. Dans ce cas, les fichiers se trouvent dans le répertoire app/assets :

application/actifs/images/

application/actifs/feuilles de style/

application/actifs/javascripts/

Dans le cas de code ou d'images provenant de fournisseurs externes, nous utilisons le répertoire supplier/assets :

fournisseur/actifs/images/

fournisseur/actifs/feuilles de style/

fournisseur/actifs/javascripts/

Fichiers manifestes

Ce sont des fichiers js ou css simples contenant des processeurs de directives, des lignes de commentaires suivies d'un =

// …

//= nécessite jquery

//= nécessite jquery_ujs

//= require_tree .

Ou:

/* …

*= require_self

*= require_tree .

Ces fichiers manifestes font référence et incluent d’autres actifs dont ils dépendent. require_directory et require_tree nous permettent d'exiger des répertoires entiers et leurs enfants, require_self inclut également tous les js ou css dans le fichier manifeste lui-même.

Prenez contact avec nous.

Abonnez-vous pour les dernières mises à jour

Articles Similaires

Laissez un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

fr_FRFrench