🔄
npm 生命周期钩子
npm 脚本 pre/post 生命周期钩子。
本地处理 · 不上传
加载工具中…
相关:npm · 生命周期 · 钩子 · 脚本
npm 生命周期钩子列出各脚本的执行时机与顺序,涵盖安装、发布与自定义脚本的前后钩子。其中 postinstall 会在安装依赖时自动执行代码,是供应链攻击的常见入口。
使用步骤
- 确定要在哪个命令前后插入动作
- 按 pre 与 post 前缀命名脚本
- 注意新版本 npm 不再自动运行任意脚本的 pre/post
- 跨平台脚本注意命令与路径分隔符差异
使用场景
- 配置自动执行的构建步骤
- 理解脚本的执行顺序
- 排查钩子未触发的问题
- 设计发布流程
小贴士
- 自定义脚本的 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 生命周期钩子,我的数据安全吗?
安全。该工具在你的浏览器本地完成处理,输入内容不会上传到服务器,隐私更有保障。