Bower 最佳实践与使用技巧
Bower 是一款使用 Node.js 语言编写的,用于对前端进行包管理的工具。其安装 (npm install -g bower
) 和使用 (bower install <package>
) 都十分简单。不过,在使用 Bower 的过程中,还是有一些注意点和小技巧的。
最佳实践
bower.json
中使用 version
字段
不要在 目前,Bower 对包的版本管理是通过 git, svn 等代码管理工具中的 tag 来实现的。如 v4.2
, 4.5.1
这样的标签可以被 Bower 识别为软件包的版本,从而可以在安装指定的版本时获取到正确的内容。如果未指明版本,Bower 也会从中自动选择最新版本。
与 Bower 通过代码管理工具的 tag 来实现版本管理不同的是,npm 通过注册表 npm registry 来实现包的版本管理。
即只有当一个版本发布在 npm registry 中时,该版本才能够被 npm 工具发现,而与代码库中是否存在该版本的 tag 无关。
然而,在 Bower 的包说明文件 bower.json
中还有一个 version
字段,计划是用于在官方的包注册表中来标识版本号的,但是这样一个官方的包注册机制一直都没有落实,version
字段也从未在 Bower 的任何一个版本中被使用过。
现在,在 Bower 的官方文档中,version
字段也已经被标记为不赞成使用了(deprecated)。
具体可参见:
- version number in bower.json seemingly not being honoured
- add note about
version
prop being moot atm - Deprecate version field entirely
bower.json
的 main
字段中放入 .min
文件
不要在 main
字段标明了一个项目的入口点,可以是 .js
, .ts
, .css
, .scss
等文件。main
字段是设计给项目中的构建工具使用的,因此,在 main
字段中不应放入编译后或压缩后的文件,而应放入入口文件的原始代码。其文件名也不宜包含版本号,因为这些信息也应由构建工具加入,而不应直接加入到源代码文件中。
关于 main
字段的一些其他最佳实践,还可参见:bower.json specification。
使用技巧
.bowerrc
中设置 save
字段
在 在使用 Bower 对前端所用的包进行依赖管理时,我们常常会执行命令
bower install <package> --save
其中 --save
选项将所下载的包加入到 bower.json
中作为当前项目的依赖。
很多时候,我们下载一个包,就是为了将其加入当前项目的依赖。如果是这样的话,我们可以考虑在 .bowerrc
中设置 save
字段为 true
,这样,我们就不需要每次在命令行上指定 --save
选项了。
类似地,命令行上的 --save-exact
选项和 .bowerrc
中的 save-exact
字段对应。
对于 save
和 save-exact
字段的支持是在 Bower 1.7.8 起的版本中加入的。
具体可参见: