npm
# 获取依赖包本地缓存路径npm config get cache# 清除本地_cacache缓存npm cache clean --force
- 当npm install 执行时,通过pacote把相应的包解压在对应的node_modules下面
npm在下载依赖时先下载到缓存中,在解压到node_modules下 - pacote依赖npm-registry-fetch来下载包,在给定的路径下根据IETF RFC 7234生成缓存数据
- 在每次安装资源时,根据package-lock.json中存储的integrity、version、name信息生成一个唯一的key
如果发现有缓存资源,就会找到tar包的hash,再次通过pacote把对应的二进制文件解压到相应的项目node_modules下面
npm小技巧
# 自定义初始化脚本npm config set init module [pathname]
利用npm link 在本地调试以验证包的可用性
- npx
- 可以直接执行node_modules/.bin文件夹下的文件
- 可以自动去node_modules/.bin路径和环境变量$PATH里面检查命令是否存在
- 执行模块时会优先安装依赖,但在安装执行后便删除此依赖,避免了全局安装模块带来的问题
