npm script 生命周期有哪些?

616 阅读3分钟

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

安装和卸载

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

发布和更新版本

脚本名称阶段描述执行时机
prepublishpre在 publish(npm发布)执行前,运行 npm pack。发布前
preparepre在包被发布前或安装前执行,可以用来设置编译或验证文件的操作。发布前、安装前
prepublishOnlypre在 npm publish 执行前运行,用于确保在 publish 命令执行时不会意外发布不必要的文件。发布前
prepackpre在 npm pack(打包命令)执行前运行,用于执行一些打包前的准备工作。打包前
postpackpost在 npm pack 执行后运行,用于清理和重置打包相关的操作。打包后
publishpost在包被成功发布后执行。发布后
postpublishpost在包被成功发布后执行,用于执行一些发布后的操作。发布后
preversionpre在项目版本号更新(npm version)之前执行。更新版本号前
versionpost在 npm version 执行后执行,用于执行一些版本更新后的操作。更新版本号后
postversionpost在项目版本号更新(npm version)之后执行。更新版本号后

测试和运行

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

其他生命周期

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

获取更多面试相关问题可以访问
github 地址: github.com/pro-collect…
gitee 地址: gitee.com/yanleweb/in…