npm script 生命周期有哪些?【热度: 519】

关键词:npm 生命周期、script 生命周期

安装和卸载

脚本名称 阶段 描述 执行时机
preinstall pre 在 npm install 执行前运行,用于执行一些安装前的准备工作,例如检查依赖项或设置环境变量。 安装前
install, postinstall install 在模块安装后执行,通常用于构建项目或者为其生成某些必须的文件,例如安装完毕后自动编译 TypeScript、ES6 等。 安装后
preuninstall pre 在 npm uninstall 执行前运行,用于执行一些卸载前的准备工作。 卸载前
uninstall post 在 npm uninstall 执行后运行,用于清理卸载后的一些操作。 卸载后
postuninstall post 在 npm uninstall 执行后运行,用于执行一些卸载后的操作。 卸载后

发布和更新版本

脚本名称 阶段 描述 执行时机
prepublish pre 在 publish(npm发布)执行前,运行 npm pack。 发布前
prepare pre 在包被发布前或安装前执行,可以用来设置编译或验证文件的操作。 发布前、安装前
prepublishOnly pre 在 npm publish 执行前运行,用于确保在 publish 命令执行时不会意外发布不必要的文件。 发布前
prepack pre 在 npm pack(打包命令)执行前运行,用于执行一些打包前的准备工作。 打包前
postpack post 在 npm pack 执行后运行,用于清理和重置打包相关的操作。 打包后
publish post 在包被成功发布后执行。 发布后
postpublish post 在包被成功发布后执行,用于执行一些发布后的操作。 发布后
preversion pre 在项目版本号更新(npm version)之前执行。 更新版本号前
version post 在 npm version 执行后执行,用于执行一些版本更新后的操作。 更新版本号后
postversion post 在项目版本号更新(npm version)之后执行。 更新版本号后

测试和运行

脚本名称 阶段 描述 执行时机
pretest pre 在 npm test 执行前执行,用于执行某些测试前的准备工作。 测试前
test test 执行 npm run test 命令时执行。通常用于执行单元测试,并返回任何错误状态。 默认测试阶段
posttest post 在 npm test 执行后执行,用于执行某些测试后的操作。 测试后
prestart pre 在 npm start 执行前运行,用于执行某些启动进程前的准备工作。 启动前
start start 执行 npm start 命令时执行,通常用于启动 Web 服务器、Node 服务器、实时编译器等。 默认启动阶段
poststart post 在 npm start 执行后执行,用于执行某些启动进程后的操作。 启动后
prerestart pre 在 npm restart 执行前执行,用于执行一些重新启动进程前的准备工作。 重新启动前
restart stop/start 执行 npm restart 命令时执行,通常用于停止正在运行的 Node 服务器、Web 服务器等,然后以更新的源码重新启动服务。 默认重新启动阶段,但是该命令会触发停止和启动两个标准阶段
postrestart post 在 npm restart 执行后执行,用于执行一些重新启动进程后的操作。 重新启动后

其他生命周期

脚本名称 阶段 描述 执行时机
prestop pre 在 npm stop 执行前运行,用于执行某些停止进程前的准备工作。 停止前
stop stop 执行 npm stop 命令时执行,通常用于停止正在运行的 Web 服务器、Node 服务器、实时编译器等。 默认停止阶段
poststop post 在 npm stop 执行后执行,用于执行某些停止进程后的操作。 停止后