npm模块的安装机制

简介: npm模块的安装机制

1. 前言

  1. 之前有篇文章package.json 和 package-lock.json区别
  2. 但好像对于 npm的模块机制,比如为什么输入 npm install 就可以自动安装对应的模块 还是挺好奇的,那就写写呗

2. 是什么 what

  1. npm 是 Node.js 的包管理工具,用于安装、管理和发布 JavaScript 包

3. 执行 npm install命令时的运行步骤

1. 解析依赖关系:

  1. npm 会读取项目根目录下的 package.json 文件,该文件描述了项目所依赖的模块以及版本范围。
  2. npm 解析 package.json 文件中的依赖关系,并确定需要安装的模块

2. 查询node_modules目录之中是否已经存在指定模块

  1. npm 向 registry 查询模块压缩包的网址

3. 下载模块

  1. npm 根据解析的依赖关系,从 npm 仓库默认为
    或其他配置的镜像源下载对应的模块。npm 会根据模块的名称和版本信息,下载相应的压缩包或源代码

4. 安装模块

  1. 下载压缩包,存放在根目录下的.npm目录里
  2. 解压压缩包到当前项目的node_modules目录,按照模块的层级结构进行组织。
  3. 执行模块的安装脚本(如果有定义),例如执行模块的 postinstall 脚本

  • 若存在,不再重新安装

5. 处理依赖关系:

  1. 如果安装的模块本身也有依赖其他模块,npm 会递归处理这些依赖关系,重复步骤 3/下载 和步骤 4/安装,直到所有的依赖模块都被安装
  • 总结

输入 npm install 命令会触发 npm 的自动安装机制,根据 package.json 文件中的依赖关系,下载对应的模块并安装到项目的 node_modules 目录下。这样,你就能在项目中直接引用这些模块,并使用其提供的功能



参考资料


初心

我所有的文章都只是基于入门,初步的了解;是自己的知识体系梳理,如有错误,道友们一起沟通交流;
如果能帮助到有缘人,非常的荣幸,一切为了部落的崛起;
共勉
相关文章
|
3月前
|
缓存 资源调度
解决安装依赖时报错:npm ERR! code ERESOLVE
解决安装依赖时报错:npm ERR! code ERESOLVE
929 0
解决安装依赖时报错:npm ERR! code ERESOLVE
|
4月前
|
JavaScript 前端开发 开发者
windows安装npm教程
windows安装npm教程
|
4月前
|
JavaScript 安全 Windows
NPM包的安装、更新、卸载
NPM包的安装、更新、卸载
|
4月前
npm 切换镜像后,npm i 安装依然卡,需要好久才完成
npm 切换镜像后,npm i 安装依然卡,需要好久才完成
146 0
|
8天前
|
缓存 资源调度
npm install安装时一直idealTree:npm: sill idealTree buildDeps解决方案(亲测有效)
npm install安装时一直idealTree:npm: sill idealTree buildDeps解决方案(亲测有效)
22 2
|
1月前
npm从非官方源安装
npm从非官方源安装
|
2月前
|
JavaScript Ubuntu Linux
Linux ubuntu安装nodejs/npm
Linux ubuntu安装nodejs/npm
|
2月前
|
开发者
使用 --loglevel verbose 参数查看 npm install 安装过程中的更多细节
使用 --loglevel verbose 参数查看 npm install 安装过程中的更多细节
43 0
|
3月前
|
JavaScript
无法安装Vue脚手架 npm install @vue/cli -g
无法安装Vue脚手架 npm install @vue/cli -g
126 0
|
4月前
|
Shell iOS开发 MacOS