# npm不完全解析
npm是 Node 的模块管理器,功能极其强大。相当于是一个仓库,里面存放着各种共享的模块。如果需要使用的话直接 npm install 就可把模块安装在当前项目中。
# npm install
npm install 模块用来安装模块到 node_modules 目录中。
npm install <packageName>
安装机制如下:
- 检查当前模块是否在
node_modules中存在,如果存在,不再重新安装。(npm install <packageName> --force)可以强制重新安装。 - npm 向
registry查询模块压缩包的网址。 - 下载压缩包,存放在
~/.npm目录。 - 解压压缩包到当前项目的node_modules目录。
npm install
流程:
- 检查配置信息,命令行中的配置、项目.npmrc、全局.npmrc
- 检查lockfile,
package-lock.json或yarn.lock,如果存在lockfile,那么就会直接进入文件完整性检查环节,减少了大量的http请求。将会跳到第4步。 - 构建包依赖树。
- 检查缓存,命中缓存会直接跳到第7步
- 获取包内容
- 解压到缓存
- 复制文件到
node_modules - 执行build
- 生成
lockfile - 结束
# npm update
更新已安装模块,就要用到 npm update 命令。
npm update <packageName>
如果本地没有这个模块,或者远程库有更新的版本,将会更新本地模块。