bower.json
{
"name": "fastadmin",
"description": "the fastest admin framework",
"main": "",
"license": "Apache2.0",
"homepage": "http://www.fastadmin.net",
"private": true,
"dependencies": {
"jquery": "^2.1.4",
"bootstrap": "^3.3.7",
"font-awesome": "fontawesome#^4.6.1",
"bootstrap-table": "^1.11.0",
"layer": "*",
"jstree": "^3.3.2",
"summernote": "^0.8.2",
"jquery-pjax": "^1.9.6",
"moment": "^2.15.2",
"plupload": "^2.2.0",
"toastr": "^2.1.3",
"devbridge-autocomplete": "^1.2.26",
"jcrop": "jcrop#^2.0.4",
"jquery-qrcode": "*",
"eonasdan-bootstrap-datetimepicker": "^4.17.43",
"bootstrap-select": "^1.11.2",
"require-css": "^0.1.8",
"less": "^2.7.1",
"tableExport.jquery.plugin": "^1.9.0",
"jquery-slimscroll": "slimscroll#^1.3.8",
"jquery.cookie": "^1.4.1",
"Sortable": "^1.5.0",
"nice-validator": "^1.1.1",
"art-template": "^3.0.1",
"requirejs-plugins": "^1.0.3"
},
"devDependencies": {
"dragsort": "https://github.com/karsonzhang/dragsort.git",
"jquery-addtabs": "https://github.com/karsonzhang/jquery-addtabs.git",
"jquery-cxselect": "https://github.com/karsonzhang/cxSelect.git",
"selectpage": "https://github.com/karsonzhang/selectpage.git"
},
"resolutions": {
"jspdf": "1.1.239 || 1.3.2"
}
}
Bower 是前端包管理工具,bower.json 文件用于定义项目的元数据以及项目所依赖的前端库和插件。
项目元数据
- name:项目名称,这里是 fastadmin,代表项目标识。
- description:对项目的简要描述,表明这是 “the fastest admin framework”(最快的管理框架)。
- main:指定项目的主文件,为空意味着未特别指定。
- license:项目采用的许可证,这里是 Apache2.0 许可证。
- homepage:项目的主页 URL,即 http://www.fastadmin.net。
- private:布尔值,true 表示该项目是私有的,不会被发布到公共的 Bower 注册表。
依赖项
dependencies
- jquery:版本要求是 ^2.1.4, ^ 表示兼容 2.1.4 及以上但低于 3.0.0 的版本。
- bootstrap:版本要求 ^3.3.7,即兼容 3.3.7 及以上但低于 4.0.0 的版本。
- font - awesome:使用的是 fontawesome 包,版本要求 ^4.6.1。
- 其他依赖项也类似,各自有版本要求,部分使用 * 表示使用最新版本。
devDependencies
是项目在开发环境下需要的依赖,用于辅助开发,比如测试、构建等任务:
- 这些依赖项的来源是 GitHub 仓库,通过 URL 指定,例如 dragsort 来自 https://github.com/karsonzhang/dragsort.git。(此库已经被原作者删除)
版本解决方案
- resolutions:用于解决依赖冲突问题。这里指定 jspdf 的版本可以是 1.1.239 或者 1.3.2,当不同依赖对 jspdf 有不同版本要求时,会按照这个规则来确定使用的版本。
总结
bower.json 文件是项目前端依赖管理的核心文件,借助它可以清晰地定义项目所需的各种前端库和插件,以及它们的版本要求。在项目中使用 bower install 命令时,Bower 会依据这个文件去下载并安装相应的依赖。