在bower.json
文件中,resolution
和overrides
属性用于哪些?
{
"name": "name",
"dependencies": {
"angular": "~1.4.8",
...
"jquery": "2.2.4"
},
"overrides": {
"ionic": {
"main": [
"release/js/ionic.js",
"release/js/ionic-angular.js"
]
}
},
"resolutions": {
"angular-ui-router": "~0.2.15",
"angular": "~1.5.3"
}
}
答案 0 :(得分:11)
解决强>
当您需要在发生冲突时解析依赖关系版本(bower install
之后)时,会出现解决方案部分。这是为了在需要解决依赖性冲突时决定使用哪个依赖项的具体版本 - bower自动将此决策注入“解析”记录。因此,下次发生冲突时(更新依赖关系树等),解析后的版本将基于配置文件中的“分辨率”数据。
<强>覆盖强>
覆盖部分用于在指向依赖库时覆盖文件引用。
大多数情况下,任务运行器使用bower配置库元数据将这些库的链接注入页面内容。当我们想要将引导链接注入页面时,我们不需要进入“bower_components”文件夹,找到包并调查文件内容。我们可以使用组件元数据来查找主要的可注入文件引用。
“覆盖”部分用于将此数据更改为使用其他文件,甚至是一组文件,作为包的主要入口点。
答案 1 :(得分:2)
多个Bower软件包可以将同一个库的不同版本列为依赖项。 resolutions
部分指定在出现此类情况时要使用的库版本。如果未在bower.json
中指定,则在运行bower install
时将收到命令行提示。
使用像Gulp这样的任务运行程序时,overrides
部分可以覆盖通过Bower安装的资产的默认路径。例如,如果您打算从bower_components
文件夹中的默认位置移动文件以适应您的构建过程,那么在这种类型的设置中它可能会很方便。
答案 2 :(得分:0)
我们在bower.json文件中使用resolution对象来指定组件名称&amp;版本在运行bower命令时自动解决冲突。
覆盖部分用于在指向依赖库时覆盖文件引用。