脚本
pnpm 如何处理 package.json 的 scripts 字段。
隐藏脚本
自 v11.0.0 起提供
名称以 . 开头的脚本是隐藏的。它们无法通过 pnpm run 直接运行,并从 pnpm run 的列表中省略。隐藏脚本只能从其他脚本中被调用。
{
"scripts": {
".helper": "echo 'I am hidden'",
"build": "pnpm run .helper && tsc"
}
}
在此示例中,pnpm run .helper 会失败,但 pnpm run build 会成功,因为 .helper 是从另一个脚本中被调用的。
环境变量
pnpm 在生命周期脚本执行期间设置以下环境变量:
npm_package_name— 包名npm_package_version— 包版本npm_lifecycle_event— 正在运行的脚本的名称(例如postinstall)
内置命令与脚本名称冲突
自 v11.0.0 起提供
以下内置命令优先使用用户脚本:clean、setup、deploy 和 rebuild。如果你的 package.json 用其中之一定义了脚本,pnpm <name> 将执行该脚本而非内置命令。
要强制使用内置命令,请用 pnpm pm
生命周期脚本
pnpm:devPreinstall
仅在本地 pnpm install 时运行。
在任何依赖安装之前运行。
此脚本仅在设置于根项目的 package.json 中时才执行。
本页内容译自pnpm 官方文档(MIT License),如有出入以英文原文为准。