bower配置私服nexus3

內容來自 https://help.sonatype.com/repomanager3/bower-repositories#BowerRepositories-BrowsingBowerRepositoriesandSearchingPackages
nexus3.0版本不只提供了maven的私服,還能夠託管docker、npm、bower甚至是python的倉庫,爲搭建統一的私服平臺提供了便利。前端

Bower 倉庫

* 1.簡介
* 2.代理倉庫
* 3.本地私服倉庫
* 4.公開倉庫組
* 5.安裝bower
* 6.配置私服下載
* 7.瀏覽和檢索依賴
* 8.上傳bower包

簡介

Bower是一個前端包管理工具。python

NexusOSS是一個強大的Maven倉庫管理器,它極大地簡化了本身內部倉庫的維護和外部倉庫的訪問。利用Nexus你能夠只在一個地方就可以徹底控制訪問和部署在你所維護倉庫中的每一個Artifact。Nexus是一套「開箱即用」的系統不須要數據庫,它使用文件系統加Lucene來組織數據。3.0版本以後加入了npm、bower、docker還有.net的倉庫管理。jquery

代理倉庫

NexusOss能夠對bower的外部倉庫進行代理,好比代理官方庫:https://registry.bower.io 。在官方庫速度較慢的狀況下很是好用。git

建立bower代理庫的步驟:docker

  • 選擇建立repository,類型爲bower(proxy)
  • 定義倉庫名稱:bower-proxy
  • 定義代理的倉庫地址,例如官方倉庫: https://registry.bower.io
  • 選擇合適的存儲

本地私服倉庫

NexusOss支持建立本地私服用於管理bower包。私服倉庫扮演了一個權威角色,定義包的URL和名稱的關係。shell

建立本地私服倉庫的操做步驟:數據庫

  • 選擇建立repository,類型爲bower(hosted)
  • 定義名稱:bower-hosted
  • 選擇合適的存儲

公開倉庫組

推薦使用倉庫組暴露Bower倉庫地址。倉庫組既能夠暴露多個代理倉庫和多個本地私服倉庫,當代理倉庫或者私服變更的時候不會影響到使用者。npm

建立步驟以下:json

  • 選擇建立repository,類型爲bower(group)
  • 定義名稱:bower-all
  • 選擇合適的存儲
  • 添加bower-proxy和bower-hosted倉庫到組中

    安裝bower


    經過npm安裝:
npm install -g bower 
$ bower -v
1.7.7

使用Bower私服須要添加一個解析自定義URL的組件來完成解析NexusOss的工做。能夠經過下面兩種方式引入:maven

npm install -g bower-nexus3-resolver

或者引入到package.json中

"devDependencies" : {
   "bower-nexus3-resolver" : "*"
}

配置私服下載

一旦配置了Bower私服,就須要配置.bowerrc文件來實現到私服的URL解析。通常須要配置.bowerrc文件,能夠配置全局的.bowerrc,位於$HOME目錄下,也能夠配置在項目內部的.bowerrc文件中。

{
  "registry" : {
    "search" : [ "http://localhost:8081/repository/bower-all" ]
   },
 "resolvers" : [ "bower-nexus3-resolver" ]
}

測試下效果:

$ bower install jquery
bower jquery#*
  not-cached nexus+http://localhost:8081/repository/bower-all/jquery#*
bower jquery#*
  resolve nexus+http://localhost:8081/repository/bower-all/jquery#*
bower jquery#*
  resolved nexus+http://localhost:8081/repository/bower-all/jquery#2.2.0
bower jquery#^2.2.0  install jquery#2.2.0

jquery#2.2.0 bower_components/jquery

瀏覽和檢索依賴

NexusOSS提供了網頁檢索和瀏覽包,固然也能夠經過Bower的命令行參數來檢索。

上傳bower包

發佈Bower包,須要配置.bowerrc文件,制定register的位置;須要指定包的git路徑。

{
    "registry" : {
        "search" : [
            "http://192.168.1.62:8081/nexus/repository/bower-all"
        ],
        "register" : "http://admin:admin123@192.168.1.62:8081/nexus/repository/bower-hosted"
   },
   "resolvers" : [ "bower-nexus3-resolver" ]
}

執行上傳操做:

bower register example-package git://gitserver/project.git

測試安裝:

bower install example-package

 小結:

上次部分注意的是register的URL必須把受權參數填入,由於NexusOss側須要權限驗證,不寫會一直報401的錯誤。

相關文章
相關標籤/搜索