如何使用Bower安装OpenLayers等库?

时间:2013-02-24 23:18:11

标签: openlayers bower

我正在试试Twitter上的人Bower来管理我的客户端依赖。

但是我面临一个令人讨厌的问题:除了一些大玩家(jQuery,当然还有Twitter的Bootstrap),许多图书馆(其中大多数,实际上)都没有有一个component.json文件,因此似乎不支持Bower。

这是OpenLayers的情况,这是一个很大的参与者,因此我很惊讶他们发现他们不支持Bower。

我在这里遗漏了什么吗?或者这些大型图书馆目前是否支持更常见的依赖管理器?

5 个答案:

答案 0 :(得分:8)

您只需将以下内容添加为依赖项:

"dependencies": {
    "OpenLayers" : "http://openlayers.org/download/OpenLayers-2.12.zip"
}

再次运行bower install

<强>更新 在Sindre发表评论之后,这个混淆了bower upgrade你应该依赖这样的事情:bower install openlayers --save

但请注意,如果您依赖它的工件未在repo中进行版本控制,则必须在开发工作流程中构建它们。这意味着安装了更多工具,并了解它们等等。

答案 1 :(得分:5)

只有在库具有依赖关系时才需要组件文件,否则使用git标记。

你可以bower install openlayers,因为它在注册表中,否则你可以使用网址到git repo或zip / tar文件:bower install git://github.com/openlayers/openlayers.git

答案 2 :(得分:4)

openlayers#2.13.1可通过Bower

安装

答案 3 :(得分:2)

当我这样做时,我有一些“乐趣”,当我运行grunt serve时,我在index.html中包含对openLayers.js的引用,删除了对Openlayers.js的引用,并且wiredep报告了注入问题

问题是由于OpenLays的提供版本没有定义“主”令牌。

这就是你解决它的方法。

在你的html文件中,说

<!-- build:js(.) scripts/vendor.js -->
<!-- bower:js -->
<script src="bower_components/openlayers/lib/OpenLayers.js"></script>
<script src="bower_components/jquery/dist/jquery.js"></script>
<script src="bower_components/jquery-ui/jquery-ui.js"></script>
<!-- endbower -->
<!-- endbuild -->

在bower.json文件中(项目根目录中的地雷)说

{
 "name": "foobar",
  "private": true,
  "dependencies": {
  "bootstrap": "~3.2.0",
  "jquery-ui": "~1.11.2",
  "jquery": "~2.1.1",
  "openlayers": "1.0.0"
},
 "overrides": {
 "openlayers": {
       "main": "lib/OpenLayers.js"
  }
 } 
}

这定义了缺少的主令牌。

答案 4 :(得分:-2)

您还可以使用npm安装openlayers。 https://www.npmjs.com/package/openlayers

npm install ol