2013-02-24 62 views
3

我在Twitter上嘗試Bower來管理我的客戶端依賴項。如何使用Bower安裝OpenLayers等庫?

但我現在面臨一個討厭的問題:除了少數大玩家(jQuery,當然,Bootstrap由Twitter),許多圖書館(他們中的大多數其實)沒有一個component.json文件,從而似乎並不支持鮑爾。

這是OpenLayers,這是一個很大的球員,因此我驚訝地發現他們不支持鮑爾。

我在這裏錯過了什麼嗎?還是有這些大型圖書館目前支持的更常見的依賴管理者?

回答

8

你可以只添加以下的依賴:

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

,並再次運行bower install

更新 的Sindre言論在此之後的conf打破了bower upgrade你應該依靠這樣的事情:bower install openlayers --save

但要注意,如果你依賴於它的文物不會在回購versionned,你會必須在開發工作流程中構建它們。這意味着安裝了一些更多的工具,並理解它們等。

+1

使用硬編碼路徑會導致'bower upgrade'不起作用。如果可能,最好使用git回購。 – 2013-02-25 10:51:12

+3

使用git repo是要走的路,你是絕對正確的。但是,如果文物在回購中沒有版本呢?我們不應該在我們自己的構建工作流程中包含構建依賴關係。這就是爲什麼我們看到僅包含工件的裸回購(參見'bowerized'角模塊的回購)。 – 2013-02-25 15:31:04

+0

這是一個明顯的缺點,但這真的取決於維護人員來修復包管理器。您有多個可用選項。做出明智的選擇。 – 2013-02-25 22:02:57

5

只有當庫具有依賴性時才需要組件文件,否則使用git標籤。

你可以做bower install openlayers,因爲它在註冊表中,否則你可以使用url到git repo或zip/tar文件:bower install git://github.com/openlayers/openlayers.git

4

的OpenLayers#2.13.1是通過鮑爾安裝

+1

也許它已經改名爲openlayers#release-2.13 – Tarnschaf 2015-10-07 09:15:48

2

我有一些「有趣」的時候遇到這樣做,我包括一個referece在我的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" 
    } 
} 
} 

這定義缺失的主要標誌。