{ "name": "fastadmin", "description": "the fastest admin framework", "main": "", "license": "Apache2.0", "homepage": "http://www.fa*st*ad*min.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.*c*om*/karsonzhang/dragsort.git", "jquery-addtabs": "https://*gi*thub.c*om/karsonzhang/jquery-addtabs.git", "jquery-cxselect": "https://g**ithu*b.com/karsonzhang/cxSelect.git", "selectpage": "https://g*ithu*b.*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,即 。
- 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 来自
版本解决方案
- resolutions:用于解决依赖冲突问题。这里指定 jspdf 的版本可以是 1.1.239 或者 1.3.2,当不同依赖对 jspdf 有不同版本要求时,会按照这个规则来确定使用的版本。
总结
bower.json 文件是项目前端依赖管理的核心文件,借助它可以清晰地定义项目所需的各种前端库和插件,以及它们的版本要求。在项目中使用 bower install 命令时,Bower 会依据这个文件去下载并安装相应的依赖。