# 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>
如果本地没有这个模块,或者远程库有更新的版本,将会更新本地模块。