你好我是新來的節點,特別是依賴管理系統。當我安裝一個模塊時,我發現當我寫的實際代碼不是那麼冗長的時候,我的代碼庫被許多依賴關係覆蓋。我也注意到,有時當我做一個npm安裝而不是打包一個文件夾下的所有依賴關係時,我會下載有時模塊依賴關係endup並行地污染主文件夾。例如,我創建了一個可能有3個子模塊的模塊,這些模塊都被主模塊使用並且很好地結合在一起。node_modules污染我的代碼庫
index.js
node_modules
my_authentication_module
my_authorization_module
my_persistance_module
然後當我安裝了AWS的獨立模塊的數量增長相當大的,所以我的代碼庫看起來像
index.js
node_modules
my_authentication_module
my_authorization_module
my_persistance_module
aws_module_1
aws_module_2
.
.
.
.
.
aws_module_20
問題
這是塞滿我的代碼,並使它看起來像這些比以往任何時候都要多。有沒有更有效的管理節點項目的方法?
次要問題
如何來跑「NPM安裝一些模塊--save」並不所有模塊的依賴的限制到一個文件夾?或者是否有這樣做的方法,以便如果某些包需要50個包,則最終不會得到50個與需要它們的包並行的包。
例如。相反的:
node_modules
my_authentication_module
my_authorization_module
my_persistance_module
aws_module_1
aws_module_2
.
.
.
.
.
aws_module_20
這將是很好得到
node_modules
my_authentication_module
my_authorization_module
my_persistance_module
aws
node_modules
aws_module_1
aws_module_2
.
.
.
.
.
aws_module_20
所以至少導航到頂層,你可以很容易地看到那裏有隻真正3感興趣的模塊整齊地擠滿了一堆AWS依賴到一個文件夾中。有這樣的可能嗎?
你要求的是npm在2.x版本中的表現如何。不必要的嵌套引起了各種問題,所以他們在3.0.0版本中改變了算法。我不相信這種行爲是可配置的。 – mscdex
我不明白'node_modules'中的東西是如何「污染你的代碼庫」或「混亂」你的代碼的。他們只是坐在那裏,不會傷害任何人,你基本上不需要擔心他們,甚至看他們。如果你想查看依賴關係結構,請嘗試'npm ls'。你可以閱讀更多關於[這裏](https://github.com/npm/npm/issues/9809)。 – 2017-04-14 04:00:37
@torazaburo如果你認爲這在node/npm領域是正常的,那麼我不介意。但它不是真的,不必擔心他們或看他們。我只能想象如果我使用Maven或Gradle時我的代碼看起來像什麼,並且每個底層JAR都將其類放到我的源代碼中,而不是放在lib目錄中....如果這是正常的,則在NPM使用中,那麼我會適應,但我想確定這不是我濫用NPM或package.json不正確。 –