簡體   English   中英

Yeoman bower安裝vs npm install vs grunt

[英]Yeoman bower install vs npm install vs grunt

這是我第一次開發AngularJS應用程序並使用腳手架工具Yeoman( http://yeoman.io/ )。 我想用fontawesome作為我的一些圖標( http://fortawesome.github.io/Font-Awesome/ ),我知道我應該使用命令

bower install fontawesome

但是,我也看到了這篇文章( https://www.npmjs.org/package/grunt-font-awesome-vars ),它討論了下面的npm grunt install命令

npm install grunt-font-awesome-vars --save-dev

那有什么區別? 關於各種工具如何工作和流動,我仍然有點模糊。 任何Yeoman專家都可以給我一個低位,什么時候使用bower安裝,npm安裝和grunt命令,所以我會清楚地知道差異並理解流程? 謝謝。

Grunt是一款任務自動化工具,開箱即用。 它通過插入執行特定任務的grunt模塊完成大部分工作。

grunt-font-awesome-vars是一個用於grunt的模塊(沒有grunt沒用)

bower是包管理器。

npm是一個包管理器。

(我不使用Yeoman。它是一個用於設置項目結構的腳手架工具。我不同意它對應該去哪里的意見,所以我不會愚弄它。我手動配置grunt和bower)

又快又臟:

用npm安裝節點。 然后從您的控制台(VS2013的開發人員命令提示符,Bash或您使用的任何內容)運行以下命令

npm install grunt --save
npm install bower --save
npm grunt-font-awesome-vars --save

涼亭不需要咕嚕聲。 咕嚕聲不需要涼亭。 grunt不需要grunt-font-awesome-vars但grunt-font-awesome-vars需要grunt。

通過我的工作流程,我使用npm來管理我想用grunt自動化的包依賴項。 我使用bower來管理我的客戶端依賴項的版本。

更多信息:

當有人問起它和npm之間的區別時,會有一個“Yo,Dawg”來描述涼亭。

“喲,Dawg。我們聽說你真的很喜歡軟件包,所以我們在軟件包管理器中安裝了一個軟件包管理器。”

基本上,bower只是另一個包管理器。 它與npm一起安裝(這是一個單獨的包管理器)

我使用npm來管理工具和服務器依賴(比如grunt,grunt模塊,sass等等......我可能希望自動化的東西)和bower用於功能性的,特定客戶端的依賴項(如angular,jquery等等...我可能想與最新版本保持同步)

通過涼亭安裝將使用您的bower.json。 通過npm安裝將使用你的package.json。

npm install grunt-font-awesome-vars --save-dev

將安裝grunt-font-awesome-vars 以及使用devDependency更新package.json(--save-dev標志這樣做),以便在您執行時自動安裝它

npm install

如果您將該命令更改為

npm install grunt-font-awesome-vars -g

它會將grunt-font-awesome-vars安裝到您的節點安裝位置(由您的PATH系統變量指示)並可供所有節點實例使用。

編輯以回答評論中的問題

問:另外,為什么需要將install命令設置為'grunt-font-awesome-vars -g'

grunt-font-awesome-vars是部署為節點包的grunt模塊的名稱。 使用“npm install”命令安裝grunt模塊。 -g是一個標志,指示npm將請求的包安裝到全局空間,方法是通過PATH變量使其可用。 我目前在全球安裝的唯一東西是http-server,bower和karma。 如果您沒有全局安裝軟件包,那么您必須在當前工作目錄中執行該軟件包的“npm install”才能執行該軟件包的命令。 例如,http-server是一個節點模塊,並且像任何其他控制台應用程序一樣執行命令行。 在這種情況下,命令“http-server”將在您想要為站點提供服務的任何地方啟動本地http服務器。 如果我將它安裝到我的PATH,我可以從任何我想要的地方運行http-server而無需做任何特別的事情。 如果不將其安裝到PATH,則http服務器可執行文件必須位於要運行它的目錄中。 我全局安裝它,所以我再也不用“npm install”了。 大多數事情你想要與你的項目打包,你可以使用--save標志而不是-g(或--global ...它們做同樣的事情)標志。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM