你好我是新来的节点,特别是依赖管理系统。当我安装一个模块时,我发现当我写的实际代码不是那么冗长的时候,我的代码库被许多依赖关系覆盖。我也注意到,有时当我做一个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不正确。 –