2017-02-18 24 views
1

我對gulp很新穎,我有一個問題:我應該在本地還是全球安裝gulp插件(如gulp-sass或gulp-imagemin)?在網絡上的例子中,大多數人都是在本地進行的(使用--save-dev選項)。據我所知,這樣做模塊存儲在當地的node_modules文件夾中,作爲devDependencies添加到本地package.json中,並可通過require()在本地gulpfile.js中引用。因此,如果我需要爲另一個項目安裝相同的模塊,可以通過將package.json複製到新項目的文件夾並在命令行工具(在進入項目文件夾之後)輸入npm install來完成。精細。在本地和全球安裝gulp插件

但是,如果我作爲一個普通用戶,一飲而盡,沒有什麼計劃,上傳和分享關於故宮的空間我的東西,並在維持devDependencies不感興趣,我可以在這種情況下,只需要安裝插件,一飲而盡全球像npm install -g gulp-sass?他們是否會通過我的系統中的全球路徑找到?整體而言,如果我不想自己複製package.json,每次創建新項目或運行npm install,或者將相同模塊的多個副本分散在我的磁盤上,這是否是一個選項?

回答

1

對於您通過gulp使用的插件,您必須做的是將它們本地安裝到項目中。雖然你必須在全球和本地安裝gulp本身,運行該文件,然後爲項目選擇基於吞吐量的命令和函數。

你應該通過npm在本地安裝插件的原因是,它是特定於該項目,例如,如果你然後上傳這個項目到你的服務器或主機上的github,那麼你將不得不去那裏去再次全球安裝所有的軟件包。如果他們被保存,它們就存在於你的packages.json中,這是爲了當你運行npm install來安裝所有項目的包時,npm知道要安裝什麼。

如果我可以進一步澄清任何事情讓我知道。

+0

是的,我明白了你的觀點,但是我在每個項目中都使用sass,minifiers等等 - 它們並不是特定的,它將會很大程度上安裝在我的個人電腦上的所有項目上。我沒有計劃與其他人分享我的內容,通常上傳的內容只是插件的結果,如'* .min.css'文件。 – curveball

+0

不幸的是'npm install -global'不會在全局目錄中查找模塊。你可以通過改變你的NODE_PATH環境變量來解決這個問題。在Linux中,這將是:'export NODE_PATH =/usr/lib/node_modules'(或者你的全局目錄所在的地方)source:http://nodejs.org/api/modules.html#modules_loading_from_the_global_folders – andrew196

+0

但是沒有真正的建議。無論如何,npm模塊通常都很小。 – andrew196