Nodejs开发之四: Package依赖关系 npm install 原理 如果我们在项目代码中引用了一个模块,模块查找流程如下: 在当前模块路径下搜索 =>  在当前模块 node_modules 路径下搜素 => 在上级模块的 node_modules 路径下搜索 => 直到搜索到全局路径中的 node_modules

1.例如: 安装依赖包: 

C:Program Files odejsMyBook>npm install buffer
npm WARN mybook@1.0.0 No repository field.

+ buffer@5.6.0
added 1 package and audited 3 packages in 7.964s
found 0 vulnerabilities


C:Program Files odejsMyBook>npm install ignore
npm WARN mybook@1.0.0 No repository field.

+ ignore@5.1.8
added 1 package from 1 contributor and audited 4 packages in 1.695s
found 0 vulnerabilities

 2. 安装目录结构

Nodejs开发之四: Package依赖关系 npm install 原理
如果我们在项目代码中引用了一个模块,模块查找流程如下:
在当前模块路径下搜索 =>  在当前模块 node_modules 路径下搜素 => 在上级模块的 node_modules 路径下搜索 => 直到搜索到全局路径中的 node_modules

3.  buffer的Package.json, 有两个依赖包, 在安装buffer的时候,同时安装到的项目的node_modules目录下, 而 ignore是一个纯 JS 模块,不依赖任何其他模块,

"dependencies": {
"base64-js": "^1.0.2",
"ieee754": "^1.1.4"
},

所有依赖包,在文件目录下, 都是这种扁平的方式来存储的.

Nodejs开发之四: Package依赖关系 npm install 原理
如果我们在项目代码中引用了一个模块,模块查找流程如下:
在当前模块路径下搜索 =>  在当前模块 node_modules 路径下搜素 => 在上级模块的 node_modules 路径下搜索 => 直到搜索到全局路径中的 node_modules

在当前模块路径下搜索 =>  在当前模块 node_modules 路径下搜素 => 在上级模块的 node_modules 路径下搜索 => 直到搜索到全局路径中的 node_modules