53 votes

Pipeline d'actifs: moyen standard d'inclure tous les éléments / vendor / assets / javascripts /?

J'ai été la transition d'une application Rails 3.1 (et maintenant sur le point 3.2) et regardé le Railscast sur l'asset pipeline. J'ai déplacé tous mes tiers plugin jquery fichiers à l' /vendor/assets/javascripts/ répertoire. Dans mon /app/assets/javascripts/application.js j'ai le texte suivant:

//= require jquery
//= require jquery_ujs
//= require_tree .
//= require_self

J'ai réalisé l' require_tree . appel uniquement des charges de l'arbre pour l' /app/assets/javascripts/ répertoire. (Est-ce correct?) Quelle est la meilleure façon d'inclure tous les le "vendeur" javascripts? (Je ne suis pas inquiet à propos des commandes à ce point.) Bien sûr, je peut leur demander ligne par ligne dans /app/assets/javascripts/application.js. Mon autre idée était de créer /vendor/assets/javascripts/vendor_javascripts.js avec les éléments suivants:

//= require_tree .

Et puis dans /app/assets/javascripts/application.js ajoutez la ligne suivante:

//= require vendor_javascripts

Cela semble un peu maladroit. Est-il une meilleure façon d'inclure automatiquement tous les "vendeur" (et/ou "lib") javascripts?

PS. J'ai vu ce sujet index.js les fichiers, mais je serais potentiellement à la fin plusieurs fichiers nommés index.js, droit? Oh, et j'ai essayé de redémarrer mon serveur tout au long de.

73voto

Dylan Markow Points 65796

Vous pouvez ajouter quelque chose comme ceci dans votre fichier app/assets/javascripts/application.js pour inclure tous les javascripts du fournisseur:

 //= require_tree ../../../vendor/assets/javascripts/.
 

21voto

rockskull Points 798

Maintenant, c’est une vieille question, mais vous pouvez créer un fichier manifeste dans le dossier vender / assets / javascript:

  #vendor/assets/javascripts/my_jquery_plugins/manifest.js
 # require_tree .
 

Et dans votre application.js:

  //= require my_jquery_plugins/manifest.js
 

Si vous utilisez Rails 4, nommez le manifest.js comme index.js et dans votre application.js :

 //= require my_jquery_plugins
 

C'est moins hacky que le chemin relatif décrit.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X