J'ai un plugin avec de nombreux types de fichiers et sa propre arborescence (html, css, js, documentation, images, etc.)
Plutôt que de passer par le dossier plugin et de scinder tous les fichiers css et js en vendor/assets/js/
vendor/assets/css/
dossiers, je veux juste garder le dossier complet du plugin tel quel. Par exemple,
vendor/assets/multipurpose_bookshelf_slider/
Comment puis-je m'assurer que les chemins d'accès se chargent correctement et les référencer dans mes fichiers de manifeste?
Actuellement, j'ai quelques fichiers placés comme suit (non exhaustif)
/my_app/vendor/assets/multipurpose_bookshelf_slider/css/skin01.css
/my_app/vendor/assets/multipurpose_bookshelf_slider/js/jquery.easing.1.3.js
/my_app/vendor/assets/multipurpose_bookshelf_slider/
/my_app/vendor/assets/multipurpose_bookshelf_slider/
Je les référence dans
application.js
//= require multipurpose_bookshelf_slider/js/jquery.easing.1.3.js
//= require multipurpose_bookshelf_slider/js/jquery.bookshelfslider.min.js
application.css.scss
@import "css/bookshelf_slider";
@import "css/skin01";
Tout dossier créé directement sous assets
sera ajouté aux chemins de chargement. Les fichiers de ce dossier peuvent être référencés comme d'habitude de la manière suivante:
Si tu as
vendor/assets/custom/js/file.js
vendor/assets/custom/css/file.css
puis vendor/assets/custom/
sera ajouté aux chemins de chargement.
Incluez vos fichiers dans les fichiers suivants en procédant comme suit:
application.js
//= require js/file
application.css.scss
@import "css/file";
Une fois que cela est fait, assurez-vous de redémarrer votre serveur local, car c’est au démarrage que les chemins de chargement sont reconnus.
Remarque: pour voir une liste des chemins de chargement, tapez votre terminal Rails c
, puis tapez Rails.application.config.assets.paths
.
Si le pipeline d'actifs est activé dans l'application que vous exécutez, il devrait rechercher vos actifs après avoir développé le chemin d'accès dans votre application.rb
config.assets.paths << Rails.root.join("multipurpose_bookshelf_slider")
Je préfère la réponse de D7na mais avec un peu d'amélioration à mon avis.
Tant que cela concerne les actifs, je pense qu'il vaut mieux être placé dans le assets.rb
fichier.
assets.rb
:
Rails.application.config.assets.paths << Rails.root.join("multipurpose_bookshelf_slider")