🔄

npm 生命周期钩子

npm 脚本 pre/post 生命周期钩子。

本地处理 · 不上传

加载工具中…

相关:npm · 生命周期 · 钩子 · 脚本

npm 生命周期钩子列出各脚本的执行时机与顺序,涵盖安装、发布与自定义脚本的前后钩子。其中 postinstall 会在安装依赖时自动执行代码,是供应链攻击的常见入口。

使用步骤

  1. 确定要在哪个命令前后插入动作
  2. 按 pre 与 post 前缀命名脚本
  3. 注意新版本 npm 不再自动运行任意脚本的 pre/post
  4. 跨平台脚本注意命令与路径分隔符差异

使用场景

  • 配置自动执行的构建步骤
  • 理解脚本的执行顺序
  • 排查钩子未触发的问题
  • 设计发布流程

小贴士

  • 自定义脚本的 pre 与 post 前缀钩子会自动执行,如运行 build 时会自动先跑 prebuild、后跑 postbuild。
  • prepare 在 npm install 与 npm publish 时都会执行,是设置 Git 钩子与构建产物的常用位置。
  • postinstall 中执行任意脚本是供应链攻击的常见入口,安装不可信的包时应格外警惕。

常见问题

pre 和 post 钩子怎么用?

为任意脚本名加上 pre 或 post 前缀即可自动关联。定义了 prebuild,运行 npm run build 时它会先执行。这个机制不需要额外配置,是组织多步骤流程的简洁方式。

prepare 什么时候执行?

npm install(无参数时)、npm publish 之前,以及从 git 地址安装依赖时。它常用于安装 Git 钩子或构建产物,因为这些操作在开发和发布时都需要。

postinstall 安全吗?

它会在安装依赖时自动执行任意代码,是供应链攻击的经典入口。安装不熟悉的包前值得检查它是否定义了这个钩子,CI 环境中也可以用 --ignore-scripts 禁用。

npm 生命周期钩子是免费的吗?

是。本站所有工具完全免费,无需注册登录、无广告干扰,打开即用。

使用npm 生命周期钩子,我的数据安全吗?

安全。该工具在你的浏览器本地完成处理,输入内容不会上传到服务器,隐私更有保障。