JavaScript依賴管理工具bower

來源:互聯網
上載者:User

JavaScript依賴管理工具bower
js依賴管理工具bower註:本文摘自作者正在寫的新書《雲時代的程式猿》

2014.9.4

和前面介紹的maven類似,只不過它是專門用來管理js包的,在我們開發應用的時候,大部分情況下一個應用裡會使用很多js的包,比如一個項目裡可能會用到jquery、dwr、d3等多個js包,有的時候可能版本還不一樣,如果每次都是手工下載,然後放到本地項目中,是不是覺得很無趣?

bower就是來幫我們幹這事的。

在安裝bower之類請確保您已經安裝了nodejs、npm管理工具及git。

安裝bower:

npm install -g bower

安裝完畢就可以使用bower了,很簡單,如果需要使用到jquery時,在你的項目目錄下,執行:

bower install jquery

執行完後,您將看到在你的項目目錄下多出一個bower_components目錄,如下所示:

bower_components/├── jquery│   ├── MIT-LICENSE.txt│   ├── bower.json│   ├── dist│   │   ├── jquery.js│   │   ├── jquery.min.js│   │   └── jquery.min.map│   └── src│       ├── ajax│       │   ├── jsonp.js│       │   ├── load.js│       │   ├── parseJSON.js│       │   ├── parseXML.js│       │   ├── script.js│       │   ├── var│       │   │   ├── nonce.js│       │   │   └── rquery.js│       │   └── xhr.js│       ├── ajax.js│       ├── attributes

好了,接下來在你要使用到jquery的地方通過下面的方法引入jquery。

<script src="bower_components/jquery/dist/jquery.js"></script>

當然這種引用方式是很“土”的,後面會給你介紹怎麼樣才不“土”。

我們還可以把js的包依賴定義在一個bower.json的設定檔中。

在項目目錄下執行:

bower init

根據提示嚮導,輸入項目名稱、版本、作者、開源許可等資訊後,你就看到系統會產生一個bower.json的設定檔 ,如下所示:

{  "name": "bowerp",  "version": "0.1",  "authors": [    "ChangjunZhao "  ],  "description": "bower test",  "main": "lib",  "keywords": [    "df"  ],  "license": "MIT",  "private": true,  "ignore": [    "**/.*",    "node_modules",    "bower_components",    "test",    "tests"  ]}

接下來再執行:

bower install jquery --save

再看bower.json:

{  "name": "bowerp",  "version": "0.1",  "authors": [    "ChangjunZhao "  ],  "description": "bower test",  "main": "lib",  "keywords": [    "df"  ],  "license": "MIT",  "private": true,  "ignore": [    "**/.*",    "node_modules",    "bower_components",    "test",    "tests"  ],  "dependencies": {    "jquery": "~2.1.1"  }}

jquery的依賴資訊被寫入到了bower.json檔案。

至此,你的項目再提交到版本管理工具時,bower_components這個目錄裡的東西就不需要再提交了,只需要把bower.json提交。別的開發個員拿到代碼後,只需要在項目目錄執行bower install 命令,這個項目所依賴的所有js就會自動下載。

怎麼樣? 方便吧?

關於bower的其它命令及使用方法,可以使用bower help命令查看。建議大家不管學習什麼東西,都從官方網站開始:http://bower.io/。這裡就不多說了,自己動手吧!

cjzhaomacbook:testProject ChangjunZhao$ bower helpUsage:    bower  [] []Commands:    cache                   Manage bower cache    help                    Display help information about Bower    home                    Opens a package homepage into your favorite browser    info                    Info of a particular package    init                    Interactively create a bower.json file    install                 Install a package locally    link                    Symlink a package folder    list                    List local packages    lookup                  Look up a package URL by name    prune                   Removes local extraneous packages    register                Register a package    search                  Search for a package by name    update                  Update a local package    uninstall               Remove a local package    version                 Bump a package versionOptions:    -f, --force             Makes various commands more forceful    -j, --json              Output consumable JSON    -l, --log-level         What level of logs to report    -o, --offline           Do not hit the network    -q, --quiet             Only output important information    -s, --silent            Do not output anything, besides errors    -V, --verbose           Makes output more verbose    --allow-root            Allows running commands as root    --version               Output Bower version

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.