Nodejs开发之四: Package依赖关系 npm install 原理

 

 

1.例如: 安装依赖包: 

C:\Program Files\nodejs\MyBook>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\nodejs\MyBook>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. 安装目录结构

 

 

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

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

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

 

如果我们在项目代码中引用了一个模块,模块查找流程如下:

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

 

posted @ 2020-07-16 11:37  Montai  阅读(1368)  评论(0编辑  收藏  举报