4

我正在 Twitter 上尝试使用Bower来管理我的客户端依赖项。

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

OpenLayers就是这种情况,它是一个大玩家,因此我惊讶地发现他们不支持 Bower。

我在这里错过了什么吗?还是这些大型库目前支持的更常见的依赖管理器?

4

5 回答 5

8

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

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

bower install再次运行。

更新 在 Sindre 评论后,这个 conf 打破了bower upgrade你应该依赖这样的东西:bower install openlayers --save

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

于 2013-02-25T02:43:14.547 回答
5

仅当库具有依赖项时才需要组件文件,否则使用 git 标签。

您可以这样做,bower install openlayers因为它在注册表中,否则您可以使用 git repo 或 zip/tar 文件的 url bower install git://github.com/openlayers/openlayers.git:.

于 2013-02-25T10:49:36.377 回答
4

openlayers#2.13.1 可通过 Bower 安装

于 2013-10-13T13:40:14.240 回答
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"
  }
 } 
}

这定义了缺少的主令牌。

于 2014-12-12T11:23:53.927 回答
-2

你也可以使用 npm 来安装 openlayers。https://www.npmjs.com/package/openlayers

npm install ol
于 2018-06-25T13:25:26.003 回答