跳到主要内容
pnpm
文档目录

脚本

查看英文原文 ↗

pnpm 如何处理 package.jsonscripts 字段。

隐藏脚本

自 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 起提供

以下内置命令优先使用用户脚本:cleansetupdeployrebuild。如果你的 package.json 用其中之一定义了脚本,pnpm <name> 将执行该脚本而非内置命令。

要强制使用内置命令,请用 pnpm pm

生命周期脚本

pnpm:devPreinstall

仅在本地 pnpm install 时运行。

在任何依赖安装之前运行。

此脚本仅在设置于根项目的 package.json 中时才执行。

本页内容译自pnpm 官方文档(MIT License),如有出入以英文原文为准。