web-dev-qa-db-fra.com

Configurez bower pour installer uniquement le dossier dist

J'essaie d'apprendre des outils tels que bower/grunt/requirejs afin d'accélérer le processus de développement de mon site Web et de rendre mon code plus modulaire/efficace. Je suis actuellement ce tutoriel . Comment faire en sorte que Bower n’installe que le dossier dist de mes dépendances (dans mon fichier Component.json) au lieu de l’ensemble du référentiel Git?

24
Neve12ende12

Vous recherchez la propriété ignore dans bower.json: https://github.com/bower/bower.json-spec

Le développeur du module peut utiliser l'attribut ignore pour exclure les fichiers lorsque le module est téléchargé et installé via Bower.

Si vous êtes le développeur de ce module, vous pouvez utiliser l'attribut ignore pour exclure tout sauf le dossier dist.

Si vous n'êtes pas le développeur du module, vous ne pouvez pas faire grand chose, vous obtiendrez tout ce que le développeur du module a jugé important. Dans la plupart des cas, ce n'est pas un problème.

Voici une configuration typique pour l'attribut ignore:

{
  "ignore": [
    "**/.*",
    "node_modules",
    "bower_components",
    "test",
    "package.json",
    "src"
  ]
}
21
nwinkler

Bower ne fournit aucune option pour le faire. Principalement parce que ils ont refusé de .

Tout ce qui nous reste à faire est de trouver des moyens de s’y attaquer, comme grunt-wiredep , qui ne résout pas le problème au sens strict.

Bonne chance!

7
Ariel

Dans la documentation api de Bower , rien ne semble indiquer "Installez uniquement le dossier dist". 

Comme vous utilisez déjà Grunt, vous pouvez probablement créer une tâche à exécuter après votre bower install à l’aide de grunt-contrib-clean pour supprimer les fichiers et les dossiers non désirés du dossier bower_components.

Quelque chose comme ceci devrait tout supprimer du dossier bower_components sauf les dossiers dist:

clean : {
    dist : ['bower_components/*/*', '!bower_components/*/dist']
}

En regardant cela, j'ai aussi trouvé grunt-bower-task qui semble faire exactement cela. Le seul inconvénient de cette méthode est que vous devez d'abord créer manuellement bower.json, puis exécuter la tâche Grunt.

6
Ben

Cela ne répond pas directement à votre question, mais peut aider avec ce que vous essayez d'accomplir. 

Il existe deux plugins: grunt-wiredep et grunt-wiredep-copy qui peuvent vous aider à gérer vos dépendances. Celles-ci ajoutent automatiquement les dépendances à votre code HTML et permettent ensuite de récupérer celles qui sont minifiées et de les copier dans votre dossier dist. 

Je suis cependant aux prises avec certains aspects de ceci à Comment gérer les dépendances de Bower lors du développement et du déploiement avec grunt et un dossier de projet dist?

0
mummybot