web-dev-qa-db-fra.com

Comment changer le dossier des composants par défaut de bower?

Je fais un nouveau projet qui utilise bower de Twitter. J'ai créé un component.json pour conserver toutes mes dépendances, comme jquery. Ensuite, je lance bower install qui installe tout dans un dossier nommé components. Mais je dois installer les composants dans un dossier différent, par exemple. public/components.

J'ai essayé de modifier mon components.json dans:

{
  "name": "test",
  "version": "1.0.0",
  "directory": "public/",
  "dependencies": {
    "jquery": "*"
  }
}

ou:

{
  "name": "test",
  "version": "1.0.0",
  "componentsDirectory": "public/",
  "dependencies": {
    "jquery": "*"
  }
}

comme indiqué dans https://github.com/Twitter/bower/pull/94 mais cela ne fonctionne pas.

471
Adam Ramadhan

Créez un fichier de configuration Bower .bowerrc à la racine du projet (par opposition à votre répertoire personnel) avec le contenu:

{
  "directory" : "public/components"
}

Exécutez bower install à nouveau.

928
Adam Ramadhan

En plus de modifier .bowerrc pour configurer votre chemin d'installation par défaut, vous pouvez également configurer des chemins d'installation personnalisés pour différents types de fichiers.

Il existe un paquet de noeuds appelé bower-installer qui fournit une seule commande pour gérer les autres chemins d’installation.

lancer npm install -g bower-installer

Configurez votre bower.json

{
  "name" : "test",
  "version": "0.1",
  "dependencies" : {
    "jquery-ui" : "latest"
  },
  "install" : {
    "path" : {
      "css": "src/css",
      "js": "src/js"
    },
    "sources" : {
      "jquery-ui" : [
        "components/jquery-ui/ui/jquery-ui.custom.js",
        "components/jquery-ui/themes/start/jquery-ui.css"
      ]
    }
  }
}

Exécutez la commande suivante: bower-installer

Ceci installera components/jquery-ui/themes/start/jquery-ui.css sur ./src/css, etc.

76
lfender6445

J'ai eu le même problème sur mes fenêtres 10. C'est ce qui a résolu mon problème

  1. Supprimer bower_components dans votre dossier racine
  2. Créez un fichier .bowerrc à la racine
  3. Dans le fichier, écrivez ce code {"directory" : "public/bower_components"}
  4. Exécuter un bower install

Le dossier bower_components devrait maintenant apparaître dans votre dossier public.

58
Tim Anishere

Quelque chose qui mérite d'être mentionné ...

Comme indiqué ci-dessus par d’autres contributeurs, l’utilisation d’un fichier .bowerrc avec le fichier JSON

{ "directory": "some/path" }

est nécessaire - CEPENDANT, vous pouvez rencontrer un problème sous Windows lors de la création de ce fichier. Si Windows vous envoie un message vous implorant d'ajouter un "nom du fichier", utilisez simplement un éditeur de texte/IDE tel que Notepad ++.

Ajoutez le JSON à un fichier sans nom, enregistrez-le sous le format . Bowerrc - vous êtes prêt à partir!

Une hypothèse probablement facile, mais j'espère que cela évitera aux autres le casse-tête inutile :)

23
Cody

Essayez de placer le fichier components.json dans le répertoire public de votre application plutôt que dans le répertoire racine, puis réexécutez bower install ... essayez ceci dans le répertoire de base de votre application:

cp components.json public
cd public
bower install
8
hagope