package.json中lint和lint-stage的区别
lint
和 lint-staged
都是在项目中使用 ESLint 进行代码检查的工具,但它们的作用和用法略有不同。
- lint:
lint
是一个命令行工具,用于运行代码检查工具(如 ESLint、Stylelint 等)来分析和检查代码的质量。通过运行lint
命令,你可以对整个项目进行代码检查,查找潜在的问题,并输出相应的错误、警告信息。在package.json
中,通常你会定义一个lint
命令,例如:
"scripts": {
"lint": "eslint src"
}
在终端运行 npm run lint
就会执行代码检查工具对 src
目录中的代码进行检查。
- lint-staged:
lint-staged
是一个工具,用于在提交代码到版本控制系统(如 Git)之前,对暂存区中的代码进行检查。这样可以确保提交的代码符合代码质量规范。lint-staged
配合husky
(一个 Git 钩子工具)可以在提交之前自动运行代码检查。
你可以在 package.json
中配置 lint-staged
,例如:
"lint-staged": {
"src/**/*.{js,vue}": [
"eslint --fix",
"git add"
]
}
这会对暂存区中的所有 .js
和 .vue
文件运行 eslint --fix
命令来进行代码格式修复,然后将修复后的代码重新添加到暂存区。
总之,lint
用于整体的代码检查和分析,lint-staged
用于在提交代码之前对暂存区的代码进行检查和修复,从而确保提交的代码质量。两者可以结合使用,以便在开发过程中始终保持一致的代码质量。