npm你还了解多少

npm相关知识点

npm prune 是什么?

  • 作用:清理 node_modules 里那些 没有在 package.json / package-lock.json 中声明的多余依赖。
  • 目标:让本地依赖和声明的依赖列表保持一致,减小体积、避免脏依赖。

常用用法

js 复制代码
# 按当前 package.json / package-lock.json 清理多余依赖

npm prune

# 只保留生产依赖(配合部署/构建)

npm prune --production

典型场景

  • 删掉不用的包后,想把 node_modules 里遗留的包清干净。
  • CI/线上环境:
  • 一般先 npm ci(或 npm install),然后 npm prune --production,只留下真正运行时需要的依赖。
  • 避免脏环境问题:
  • 长期开发一个项目,多次安装/删除各种包,node_modules 里可能有很多"历史遗留"包,npm prune 可以重置到"干净只依赖声明列表"的状态。

.npmrc 是什么?

  • npm 的配置文件,控制 npm 的行为,比如:
  • 使用哪个 registry 源;
  • 是否开启 严格 SSL;
  • 默认 保存依赖的方式(^、~ 等);
  • 认证信息、cache 目录等。
  • 支持 多级配置:
  • 项目级:项目根目录下的 .npmrc(优先级较高,推荐放和 package.json 同级)。
  • 用户级:~/.npmrc。
  • 全局级、环境变量:优先级更低或更高,按 npm 规则叠加。

常见配置示例

js 复制代码
# 使用公司/私有 registry

registry=https://registry.npmmirror.com/

# 依赖版本前缀:保存时使用 ^

save-prefix=^

# 忽略引擎版本(有些老项目会用)

engine-strict=false

# 如果公司有自签证书,需要关闭或配置证书

strict-ssl=false

# 不要自动检查 npm 更新(CI 里常见)

update-notifier=false

# 开启日志详细程度(调试时)

loglevel=info

常见高级配置

js 复制代码
# 指定 cache 目录

cache=/path/to/your/npm-cache

# 总是携带认证信息(访问私有 registry 时)

always-auth=true

# 指定某个 scope 使用不同 registry(如公司私服)

@your-scope:registry=https://npm.your-company.com/

# 遇到 peerDependencies 冲突时继续安装(旧项目常用)

legacy-peer-deps=true

使用建议

  • 项目级 .npmrc 固定团队规范:
  • 如 registry、save-prefix、strict-ssl 等,保证所有同事/CI 行为一致。
  • 敏感信息(token 等)避免提交到仓库:
  • 鉴权相关配置(_authToken、always-auth 等)建议放在用户级 ~/.npmrc,不要写进项目 .npmrc 中提交到 git。
  • 如果你在一个 monorepo 或多项目环境,每个项目可以有自己的 .npmrc,覆盖用户级/全局配置。
相关推荐
Csvn3 小时前
性能监控
前端
Csvn3 小时前
构建工具
前端
FRing034 小时前
vue2干货总结3(computed计算属性、watch监听器)
开发语言·前端·vue.js·vue2
kyriewen6 小时前
Skills 榜前 10 我全装了:只有 3 个能直接用
前端·javascript·程序员
IT_陈寒6 小时前
当Java的hashCode遇上Lombok,我的缓存被全清了
前端·人工智能·后端
工控丫丫7 小时前
帆软看板中经常使用的公式函数及经常搭的组合
前端·javascript·数据库
jerrywus7 小时前
我用 GPT-6.1-sol 做了台会讲解的 3D 售货机:60 罐饮料,一口没喝上
前端·agent·claude
孟陬8 小时前
Foobar 技术周刊#159:当看不懂代码时,如何高效排障调试。脏页陷阱:一条只读查询,写入数 TB 数据。推测解码:大模型加速利器
前端·人工智能·后端
Zhao-Jichao9 小时前
AI Prompting for Everyone 课程笔记 - P17 图像生成 Imaging Generation
前端
Highcharts.js9 小时前
智能数据分析组件Orbit 正式发布与快速上手体验教程
前端·人工智能·信息可视化·数据分析系统·highcharts·orbit·智能可视化