看到某只Nodejs路径,果断迷糊了
看到某只Nodejs路径,果断迷糊了
node_modules\totoro\node_modules\totoro-common\node_modules\totoro-logger\node_modules\mongoose\node_modules\mongodb\node_modules\bson
这是搞哪门啊:( 这么多的node_modules文件夹,做神马的?
模块依赖啊。 node_modules\totoro -- 项目依赖来 totoro 模块 node_modules\totoro\node_modules\totoro-common -- totoro依赖了totoro-common 以此类推。
这也太搞了吧:( 如果A依赖B,C B依赖C 同时引入A和B,不是要在系统中包含两份C了?
这段路径看起来像是 npm
在安装依赖时生成的结构。node_modules
文件夹用于存放项目所依赖的第三方库。当一个包依赖于另一个包时,这些被依赖的包会被安装在 node_modules
文件夹中。
具体来说,路径中的每一个 node_modules
文件夹都包含其父级目录所需要的依赖包。例如:
node_modules\totoro
这表示 totoro
包依赖于其他包,而这些依赖包则安装在 node_modules
文件夹中。同样的逻辑适用于 totoro-common
、totoro-logger
等等。
这种多层嵌套的 node_modules
文件夹结构可能是因为某个包依赖了另一个包,而后者又依赖了第三个包,以此类推。这虽然看起来很复杂,但实际上是 npm
正常工作的结果。
通常情况下,你不需要直接管理这些内部的 node_modules
文件夹。当你运行 npm install
命令来安装依赖时,npm
会自动处理这些嵌套关系。
如果你想要查看所有安装的依赖项,可以使用 npm list
命令,它将显示所有已安装的包及其依赖树。
npm list
如果你希望清理不必要的依赖,可以考虑使用 npm prune
命令。
npm prune
总之,这种多层次的 node_modules
文件夹是正常现象,并且有助于确保项目的依赖项正确地安装和管理。