web-dev-qa-db-fra.com

Bower peut-il écrire automatiquement des balises <script> dans index.html?

J'utilise le générateur de dorsale de yeoman, et j'ai exécuté ceci:

bower install backbone.localStorage -S

Et j'ai dû manuellement l'insérer dans index.html:

<script src="bower_components/backbone.localStorage/backbone.localStorage.js"></script>

Y a-t-il un moyen pour que Bower insère automatiquement <script> Mots clés? Je pensais qu'une partie des avantages de Bower n'était pas de devoir déterminer dans quel ordre inclure vos scripts?

61
CaptSaltyJack

Il suffit de courir

grunt bowerInstall 

après l'installation de la tonnelle

43
mvilrokx

Vous pouvez utiliser wiredep pour pousser les dépendances dans votre code HTML à partir de bower. C'est l'approche tilisée par générateur-angulaire lorsque vous exécutez yo angular:

var wiredep = require('wiredep');
wiredep({
   directory: 'app/bower_components',
   bowerJson: JSON.parse(fs.readFileSync('./bower.json')),
   ignorePath: 'app/',
   htmlFile: 'app/index.html',
   cssPattern: '<link rel="stylesheet" href="{{filePath}}">'
});
16
Kato

Bower n'ajoutera pas de prise en charge pour une fonction spécifique comme celle-ci, mais vous permettra bientôt de spécifier une action à entreprendre après avoir installé bower un nouveau package. Cela s'appellera une "post-installation", similaire à npm.

En attendant, cependant, j'ai créé une bibliothèque pour vous aider. Puisque vous utilisez yeoman, ajoutez simplement "grunt-bower-install" en tant que npm 'devDependency', puis suivez les instructions ici: https://github.com/stephenplusplus/grunt-bower-install =.

8
Stephen

Utilisez --save

bower install --save <YOUR_PACKAGE>

L'option --save met à jour le fichier bower.json avec les dépendances. Cela vous évitera de devoir l'ajouter manuellement à bower.json vous-même. Vous verrez que la section de script au bas de index.html a été automatiquement mise à jour.

Référence: http://yeoman.io/codelab/install-packages.html

4