ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
本节中,我们使用bower的另一个强大的功能:配置文件。 在JS的自动世界里,随处可见json格式的配置文件。bower的配置文件是什么样子,又是如何实现的自动化呢? 下面,我们共同来建立一个bower的配置文件。 使用bower查看命令: ~~~ panjiedeMacBook-Pro:angularjs panjie$ bower Usage: bower <command> [<args>] [<options>] Commands: cache Manage bower cache help Display help information about Bower home Opens a package homepage into your favorite browser info Info of a particular package init Interactively create a bower.json file install Install a package locally link Symlink a package folder list List local packages - and possible updates login Authenticate with GitHub and store credentials lookup Look up a package URL by name prune Removes local extraneous packages register Register a package search Search for a package by name update Update a local package uninstall Remove a local package .... ~~~ 我们看到有一个`init`,说明是:帮助(交互)创建一个bower.json文件。 ~~~ panjiedeMacBook-Pro:angularjs panjie$ bower init ? name angularjs ? description this is a guide of angularjs ? main file ? keywords angularjs ? authors panjie@yunzhiclub.com ...下面选择默认值就可以 ~~~ 我在上面,简单的写了一些个性化的信息,其实完全选择默认也是没有问题的。 在这有个小窍门,当命令行中询问我们答案时,比如'Y/n'此时,Y代表默认值。如果是'y/N',则代表N是默认值。 最后,我们会看到bower init为我们生成了一个bower.json文件。 ~~~ { "name": "angularjs", "homepage": "https://github.com/yunzhiclub/angularjsguide", "authors": [ "panjie@yunzhiclub.com" ], "description": "this is a guide of angularjs", "main": "", "keywords": [ "angularjs" ], "license": "MIT", "ignore": [ "**/.*", "node_modules", "bower_components", "test", "tests" ], "dependencies": { "bootstrap": "3.3.6", "angular": "angularjs#1.5.7" } } ~~~ 我们非常高兴的看到,bootstrap和angularjs已经自动添加到dependenices中了。:),大胆的猜一下,angular-router也需要放到这。 是的,没错! 说到这,还需要给个sublime小窍门。当我们当开json文件件,需要设定一个文件格式。按ctrl+shift+p,输入"bower json',然后当我们语法出现错误时,就会得到提示: ![](https://box.kancloud.cn/2016-07-29_579afa24ce701.png) ![](https://box.kancloud.cn/2016-07-29_579afa252625e.png) 当然了,和PHP一样,它说这行错了,不见得就肯定是这一行,我们需要手工的排查上下各一行。 添加angular-router后: ~~~ "dependencies": { "bootstrap": "3.3.6", "angular": "angularjs#1.5.7", "angular-route": "angular-route#1.5.7" } ~~~ 最后,我们使用bower install来下载angular-router。它会自动去找bower.json文件中的dependencies来下载我们需要的JS库。 ~~~ panjiedeMacBook-Pro:angularjs panjie$ bower install bower cached https://github.com/angular/bower-angular-route.git#1.5.7 bower validate 1.5.7 against https://github.com/angular/bower-angular-route.git#1.5.7 bower install angular-route#1.5.7 angular-route#1.5.7 bower_components/angular-route └── angular#1.5.7 ~~~ 下载后,目录结构如下: ~~~ ├── bower_components │   ├── angular │   ├── angular-route │   ├── bootstrap │   └── jquery ~~~ > bower install在执行时,会找dependencies中有哪些没有安装,如果没有安装,就会自动为我们下载。