npm

  1. # 获取依赖包本地缓存路径
  2. npm config get cache
  3. # 清除本地_cacache缓存
  4. 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小技巧

    1. # 自定义初始化脚本
    2. npm config set init module [pathname]
  • 利用npm link 在本地调试以验证包的可用性

  • npx
    • 可以直接执行node_modules/.bin文件夹下的文件
    • 可以自动去node_modules/.bin路径和环境变量$PATH里面检查命令是否存在
    • 执行模块时会优先安装依赖,但在安装执行后便删除此依赖,避免了全局安装模块带来的问题