npm pre/post hook 与通配符匹配

Kou*_*sha 8 node.js npm npm-scripts

假设我的 package.json 中有以下脚本

{
  "scripts": {
     "release:public": "....",
     "release:beta": "...."
  }
}
Run Code Online (Sandbox Code Playgroud)

但现在我想添加一个prerelease对于 和 都相同的release:public脚本release:beta。在这两个脚本之前是否可以有一种prerelease:*或另一种方式运行?

小智 4

我确实理解你的问题,并且 RobC 的示例可用,但不建议命名。当您在脚本命令名称中使用 pre 时,后跟也存在的命令名称。该部分将在其他部分之前(之前)运行(https://docs.npmjs.com/cli/v8/using-npm/scripts#npm-run-user-defined

{
 ...
  "scripts": {
    "beforerelease": "....",
    "release:public": "npm run beforerelease && ....",
    "release:beta": "npm run beforerelease &&  ...."
  },
  ...
}
Run Code Online (Sandbox Code Playgroud)

但这是与使用像这样的预标记功能相同的工作量

    {
 ...
  "scripts": {
    "prerelease:public": "....",
    "release:public": "....",
    "prerelease:beta": "....",
    "release:beta": "...."
  },
  ...
}
Run Code Online (Sandbox Code Playgroud)

就像 Kousha 可能所做的那样,我有一个包含许多不同运行脚本的包。我想使用一个先于许多其他脚本运行的脚本。所以问题仍然存在:是否可以以任何方式在 package.json 中脚本标记的 de 命令部分使用通配符?