2017-02-16 193 views
0

這更多的是一個概念性問題。Package.JSON文件依賴關係

在Package.JSON文件中我們有devDependencies和Dependencies。我明白每一個是什麼。但是,這些是否僅僅是爲了讓其他開發者更清楚地知道當我們分發我們的文件時開發依賴和生產依賴是什麼?如果我們不分發我們的文件,如果我們把devDependencies放在依賴項部分中,它會有所作爲嗎?在我看來,它不應該是因爲package.json僅用於npm安裝,而且當我們通過諸如webpack之類的捆綁程序運行我們的應用程序時,它只會捆綁部署所需的模塊。事實上,如果我們不從理論上分發我們的文件,我們甚至需要package.JSON文件(儘管我明白了爲什麼我們需要一個文件,以便我們可以輕鬆地將文件從一個地方移動到另一個地方,並且只需在另一端重新安裝模塊)。

+4

[npm package.json文件中依賴關係,devDependencies和peerDependencies之間有什麼區別?](http://stackoverflow.com/questions/18875674/whats-the-difference-between-dependencies-devdependencies-and -Perdependencies) –

+0

**不,它不是重複的**,因爲如果你沒有發佈並詢問關於實用視角的差異,那麼第二個問題會問有沒有區別。審稿人:請仔細閱讀問題。 – revelt

回答

0

我認爲這是一個獨特的問題,因爲它不僅要求開發者和正常開發者之間有什麼區別,而且理論上講,如果你不發佈,兩者是否有區別。據稱duplicate answer並沒有提到這一點,但對於人們對npm的正確理解很重要。


回到你的問題:

但這些替代單純爲了更清楚給其他開發什麼,當我們發佈我們的文件dev的依賴和生產依賴關係?

編號NPM的行爲將有所不同,這取決於它是否爲dev或「正常」dep。請參閱more關於涉嫌重複的接受答案。例如,當您安裝發佈的軟件包時,除非您通過標誌明確請求,否則安裝不會安裝開發依賴關係。

如果我們不分配我們的文件,如果我們把devDependencies放在依賴項部分,它會有所作爲嗎?

只有當您不發佈功能時纔有區別功能。當然,除了做法不好,難以維護等等。