node.js - 带有通配符匹配的 npm pre/post 钩子
问题描述
假设我的 package.json 中有以下脚本
{
"scripts": {
"release:public": "....",
"release:beta": "...."
}
}
但现在我想添加一个对和prerelease
都相同的脚本。是否有可能在两个脚本之前运行一种或另一种方式?release:public
release:beta
prerelease:*
解决方案
我确实理解您的问题,并且 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 && ...."
},
...
}
但这是一个均匀的工作量,然后使用这样的预标记功能
{
...
"scripts": {
"prerelease:public": "....",
"release:public": "....",
"prerelease:beta": "....",
"release:beta": "...."
},
...
}
就像 Kousha 可能有的那样,我有一个包含许多不同运行脚本的包。我想使用一个在许多其他脚本之前运行的脚本。所以问题仍然存在:是否可以以任何方式在 package.json 中脚本标记的 de 命令部分使用通配符?
推荐阅读
- reactjs - 在 reactjs 中填充选择选项
- spring-boot - 如何在百里香输入文本中传递模型值
- android - 使用相同的 url 前缀改造注释?
- reactjs - 如何更改反应本机路由器通量选项卡栏中的单个选项卡?
- c# - 未检测到 Powerpoint 形状中的 C# 文本
- wordpress - 登录页面上的出列脚本和样式
- r - 尝试使用多个因素进行回归分析
- jenkins - 使用 GitHub/Jenkins/Kubernetes 实施 CI/CD 管道时的最佳实践
- python - 当我定义steps_per_epoch时,为什么ETA会增加这么多?
- javascript - 使用两个数组在 Mongoose 中更新 MongoDB