首頁 web前端 js教程 Web前端開發工具-bower依賴套件管理工具_javascript技巧

Web前端開發工具-bower依賴套件管理工具_javascript技巧

May 16, 2016 pm 03:07 PM

Bower 是 twitter 推出的一款套件管理工具,基於nodejs的模組化思想,把功能分散到各個模組中,讓模組和模組之間存在聯繫,透過 Bower 管理模組間的這種聯繫。

套件管理工具一般有以下的功能:

a)註冊機制:每個包需要確定一個唯一的 ID 使得搜尋和下載的時候能夠正確匹配,所以包管理工具需要維護註冊信息,可以依賴其他平台。

b)檔案儲存:確定檔案存放的位置,下載的時候可以找到,當然這個位址在網路上是可存取的。

c)上傳下載:這是工具的主要功能,能提高包使用的便利性。例如想用 jquery 只需要 install 一下就可以了,不用到處找下載。上傳並不是必備的,根據文件儲存的位置而定,但需要有一定的機制保障。

d)依賴分析:這也是套件管理工具主要解決的問題之一,既然套件之間是有連結的,那麼下載的時候就需要處理他們之間的依賴。下載一個套件的時候也需要下載依賴的套件。

由於bower是基於nodejs開發的,所以你首先必須得有個nodejs環境,至於這麼安裝nodejs網上一大堆教程,對了使用bower還需要安裝git,這裡就不多說了。

bower帶來的好處

  假如你有一個項目,裡面需要用到了JQuery在正常情況下我們需要到jQuery官方網站下載庫,這樣的話,每次jquery更新,我們又要到jQuery官方下載,那這樣的話就很麻煩了,如果有一個工具能夠輸入一個命令讓我們選擇要下載的版本,並且如果想把我們專案裡面的所有庫更新到最新版也只需要輸入一個命令那是不是很方便,bower的另一個好處就是如果你安裝bootstrap那麼它會自動下載jquery,因為bootstrap依賴了jquery,簡單的來說只要我們下載的那個庫依賴了另外的庫那麼bower會自動幫我們下載依賴的庫,bower就是這麼強大。

bower的安裝

  npm install -g bower 表示安裝到全域環境

bower的使用

  1. 透過bower下載庫

    bower install (套件的名稱如:jquery)[#版本如:#1.7] 版本可選,如果沒有寫,預設下載最新版

    如:bower install bootstrap#2.2

  2. 如果需要更新所以的函式庫,我們可以輸入以下指令

    bower update

如果需要生成一個你下載個包的所以信息,比如你在一個團隊中,你想讓其他人知道你都用了哪些庫,並且它們的版本是多少,那麼我們可以通過以下命令來完成。
  我們需要先初始化一個套件描述。它會在你目前的執行環境目錄中建立一個bower.json的目錄

    `bower init -y`

  然後透過

    `bower install jquery --save`

  它會在bower.json文件中加入jquery的版本信息,如果你想添加多個可以通過空格bower install jquery bootstrap less --save

以下是bower.json檔案的內容

{
"name": "down",
"authors": [
"xxxxxxxx"
],
"description": "",
"main": "",
"moduleType": [],
"license": "MIT",
"homepage": "",
"private": true,
"ignore": [
"**/.*",
"node_modules",
"bower_components",
"test",
"tests"
],
"dependencies": {
"bootstrap": "^3.3.6",
"less": "^2.6.1",
"jquery": "^2.2.2"
}
}
登入後複製

  當然如果你是nodejs新手或許你會有些茫然,因為這裡並不是一個nodejs基礎教程,如果你想了解想學node的話還需要到網絡中學習。

  bower除了這些好處以為,還有一些更強大的功能,那就需要大家去發現了,我這裡就不再介紹了,畢竟我也是剛開始學習node

----------------------------------------------- -------分割線-------------------------------------------------

bower與npm的關係

   安裝bower需要透過npm來安裝

bower與npm的差異:

  1. 在之前的npm版本中,它不能共享依賴的程式碼,也就說,在以前的npm版本中,如果你下載了一個bootstrap,因為bootstrap是依賴jquery的,所以它會把jquery也下載下來,但是如果你的另一個函式庫也用到了jquery,那麼它也會去下載一個jquery,這樣的話,程式碼就重複了。

  它們的結構就像這樣:

    bootstrapjQuery
    xxxxxxxxxxxxjQuery

  它們重複了對吧,不過好像在npm的最新版本中解決了這個問題。

  2. npm 會將開發環境一起下載下來,bower 只會下載 編譯後的前度模組。

  3. NPM主要運用於Node.js專案的內部依賴套件管理,安裝的模組位於專案根目錄下的node_modules資料夾內。而Bower大部分情況下用於前端開發,對於CSS/JS/模板等內容進行依賴管理,依賴的下載目錄結構可以自訂。 -- 本段內容是在網路上找到的。

  所謂的自訂目錄結構的意思是說,你在那個檔案目錄打開的bower,那麼它就會在那個檔案下,下載你需要的套件,而npm就不支援這個。

總結:我們可以簡單的來理解npm是用來管理nodejs模組的也就是套件,而bower是用來管理我們前端函式庫的。

有關Web前端開發工具-bower依賴套件管理工具小編就跟大家介紹到這裡,希望對大家有幫助!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1662
14
CakePHP 教程
1419
52
Laravel 教程
1312
25
PHP教程
1262
29
C# 教程
1235
24
神秘的JavaScript:它的作用以及為什麼重要 神秘的JavaScript:它的作用以及為什麼重要 Apr 09, 2025 am 12:07 AM

JavaScript是現代Web開發的基石,它的主要功能包括事件驅動編程、動態內容生成和異步編程。 1)事件驅動編程允許網頁根據用戶操作動態變化。 2)動態內容生成使得頁面內容可以根據條件調整。 3)異步編程確保用戶界面不被阻塞。 JavaScript廣泛應用於網頁交互、單頁面應用和服務器端開發,極大地提升了用戶體驗和跨平台開發的靈活性。

JavaScript的演變:當前的趨勢和未來前景 JavaScript的演變:當前的趨勢和未來前景 Apr 10, 2025 am 09:33 AM

JavaScript的最新趨勢包括TypeScript的崛起、現代框架和庫的流行以及WebAssembly的應用。未來前景涵蓋更強大的類型系統、服務器端JavaScript的發展、人工智能和機器學習的擴展以及物聯網和邊緣計算的潛力。

JavaScript引擎:比較實施 JavaScript引擎:比較實施 Apr 13, 2025 am 12:05 AM

不同JavaScript引擎在解析和執行JavaScript代碼時,效果會有所不同,因為每個引擎的實現原理和優化策略各有差異。 1.詞法分析:將源碼轉換為詞法單元。 2.語法分析:生成抽象語法樹。 3.優化和編譯:通過JIT編譯器生成機器碼。 4.執行:運行機器碼。 V8引擎通過即時編譯和隱藏類優化,SpiderMonkey使用類型推斷系統,導致在相同代碼上的性能表現不同。

JavaScript:探索網絡語言的多功能性 JavaScript:探索網絡語言的多功能性 Apr 11, 2025 am 12:01 AM

JavaScript是現代Web開發的核心語言,因其多樣性和靈活性而廣泛應用。 1)前端開發:通過DOM操作和現代框架(如React、Vue.js、Angular)構建動態網頁和單頁面應用。 2)服務器端開發:Node.js利用非阻塞I/O模型處理高並發和實時應用。 3)移動和桌面應用開發:通過ReactNative和Electron實現跨平台開發,提高開發效率。

Python vs. JavaScript:學習曲線和易用性 Python vs. JavaScript:學習曲線和易用性 Apr 16, 2025 am 12:12 AM

Python更適合初學者,學習曲線平緩,語法簡潔;JavaScript適合前端開發,學習曲線較陡,語法靈活。 1.Python語法直觀,適用於數據科學和後端開發。 2.JavaScript靈活,廣泛用於前端和服務器端編程。

如何使用Next.js(前端集成)構建多租戶SaaS應用程序 如何使用Next.js(前端集成)構建多租戶SaaS應用程序 Apr 11, 2025 am 08:22 AM

本文展示了與許可證確保的後端的前端集成,並使用Next.js構建功能性Edtech SaaS應用程序。 前端獲取用戶權限以控制UI的可見性並確保API要求遵守角色庫

從C/C到JavaScript:所有工作方式 從C/C到JavaScript:所有工作方式 Apr 14, 2025 am 12:05 AM

從C/C 轉向JavaScript需要適應動態類型、垃圾回收和異步編程等特點。 1)C/C 是靜態類型語言,需手動管理內存,而JavaScript是動態類型,垃圾回收自動處理。 2)C/C 需編譯成機器碼,JavaScript則為解釋型語言。 3)JavaScript引入閉包、原型鍊和Promise等概念,增強了靈活性和異步編程能力。

使用Next.js(後端集成)構建多租戶SaaS應用程序 使用Next.js(後端集成)構建多租戶SaaS應用程序 Apr 11, 2025 am 08:23 AM

我使用您的日常技術工具構建了功能性的多租戶SaaS應用程序(一個Edtech應用程序),您可以做同樣的事情。 首先,什麼是多租戶SaaS應用程序? 多租戶SaaS應用程序可讓您從唱歌中為多個客戶提供服務

See all articles