如何 运行 预提交 husky npm 模块的几个命令?

How to run several commands on precommit with husky npm module?

我在提交前使用 husky 检查 JS。 在我的 package.json 我有

"scripts": {
    "lintStyles": "stylelint app/**/*.scss",
    "fixStylesLinting": "stylelint app/**/*.scss --fix",
    "lintJS": "eslint app/**/*.js",
    "fixJSLinting": "eslint --fix app/**/*.js",
    "precommit": "npm run lintJS"
  }

有效,我不明白的是我如何 运行 lintJS、lintStyles 命令。

这应该有效:

"scripts": {
  "lint:scss": "stylelint app/**/*.scss",
  "fixStylesLinting": "stylelint app/**/*.scss --fix",
  "lint:js": "eslint app/**/*.js",
  "fixJSLinting": "eslint --fix app/**/*.js",
  "precommit": "npm run lint:*"
}

要包含多个脚本,请添加 && 例如:

precommit: npm run lint:sass && npm run lint:js

为了 运行 单个预提交上的多个挂钩,您需要这样做

npx husky add .husky/pre-commit "npx lint-staged"

类似地为其他挂钩添加:

npx husky add .husky/pre-commit "npm run ban"

因此 husky 文件夹中的文件如下所示:

#!/bin/sh
. "$(dirname "[=12=]")/_/husky.sh"

npx lint-staged
npm run ban

然后在package.json中添加以下内容

"pre-commit": "npm run lint && npm run ban"

&&

分隔