2014-09-20 45 views
7

想象一下,我想在我的網站上使用像angular.js和html5shiv這樣的插件。我現在可以使用bower將這些軟件包與所有不必要的文件一起安裝到這些軟件包中,或者我可以簡單地包含來自Google或Cloudflare的cdn託管文件。那麼有人可能會告訴我,將所有必要的插件添加到bower.json中,然後必須從我需要包含在我的HTML文件中的軟件包中手動獲取.js文件。沒有那麼複雜和耗費資源?使用Bower安裝我甚至不需要的所有包內容的優點是什麼?

示例:爲什麼要將angular.js添加到bower.json中,並讓它下載包括Gruntfile,所有依賴項和資產(9MB!)等整個Angular包,而不是將一行添加到我的HTML文件。

何時使用鮑爾有意義?我看到的唯一優點是其他開發人員可以看到您項目的依賴關係...

+0

我通常更多地使用bower進行開發,或者當我希望所有東西都是本地的時候,但是如果你不需要額外的庫,我不明白爲什麼你應該把它放在你的端,它佔用了更多的資源。 – simonzack 2014-09-20 09:12:24

+0

你能給我一個你會使用Bower的插件的例子嗎? – phpheini 2014-09-20 09:16:56

+0

這很棘手,因爲它們中的很多都是cdn的,但是如果我找到一個不存在或沒有特定版本的,我只是使用Bower。 – simonzack 2014-09-20 09:31:31

回答

1

正確的是,僅使用一個庫涼亭是矯枉過正的。當你是多個圖書館的時候,涼亭照亮的情況是,其中一些依賴於對方。就像你有:

  • jQuery的
  • 選擇2
  • 角UI
  • 角路線段

角UI/UI-utils的描述他們的依賴性, :

"angular": ">= 1.0.2" 

它會接受任何大於1.0.2的角度版本。我的你的項目或者你的任何依賴項指定角度版本小於1.0.2,那麼bower會提示並詢問如何解決衝突。

+1

謝謝,但最終可能會使得更難以知道要將哪些文件上傳到我的服務器,是不是?我可能會最終上傳我的整個資產文件夾,這將是非常錯誤的。你怎麼知道上傳到服務器的文件到底是什麼? – phpheini 2014-09-20 10:22:44

相關問題