如何使用Bower安装OpenLayers等库?

如何使用Bower安装OpenLayers等库?,openlayers,bower,Openlayers,Bower,我正在试着从Twitter上的人那里得到一些信息,来管理我的客户端依赖关系 但我面临着一个棘手的问题:除了一些大玩家(当然还有Twitter),许多库(实际上大多数)没有组件.json文件,因此似乎不支持Bower 这是一个大玩家的情况,因此我惊讶地发现他们不支持鲍尔 我是不是遗漏了什么?或者这些大型库目前是否支持更多的通用依赖关系管理器?您只需添加以下依赖关系即可: "dependencies": { "OpenLayers" : "http://openlayers.org/down

我正在试着从Twitter上的人那里得到一些信息,来管理我的客户端依赖关系

但我面临着一个棘手的问题:除了一些大玩家(当然还有Twitter),许多库(实际上大多数)没有
组件.json
文件,因此似乎不支持Bower

这是一个大玩家的情况,因此我惊讶地发现他们不支持鲍尔


我是不是遗漏了什么?或者这些大型库目前是否支持更多的通用依赖关系管理器?

您只需添加以下依赖关系即可:

"dependencies": {
    "OpenLayers" : "http://openlayers.org/download/OpenLayers-2.12.zip"
}
然后再次运行
bower安装

更新 Sindre评论后,此配置中断了
bower升级
您应该依赖以下内容:
bower安装openlayers--保存


但是请注意,如果您所依赖的工件在repo中没有版本连接,那么您必须在您的开发工作流程中构建它们。这意味着要安装更多的工具,并理解它们,等等。

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


您可以执行
bower安装openlayers
,因为它位于注册表中,否则您可以使用git repo或zip/tar文件的url:
bower安装git://github.com/openlayers/openlayers.git

openlayers#2.13.1可通过Bower安装

我在做这件事时感到有些“乐趣”,当我运行grunt Service时,我在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 -->

这定义了缺少的主令牌。

您也可以使用npm安装openlayers


使用硬编码路径会导致
bower升级
无法工作。如果可能的话,最好使用git回购。使用git回购是一种方式,你绝对正确。但是如果repo中的工件没有版本连接呢?我们不可能在自己的构建工作流中包含依赖项的构建。这就是为什么我们看到裸repo只包含工件(参见repo中的“bowerized”角度模块)。这是一个明显的缺点,但这实际上取决于维护人员,而不是包管理器。您有多个可用选项。明智地选择。也许它已被重命名为openlayers#release-2.13如果最初的问题要求使用bower解决方案,为什么要使用npm?
{
 "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"
  }
 } 
}
npm install ol