我最近开始了一个 project on github . 我已经设法在每次使用 Travis 提交后设置自动测试。但现在我也想用 jshint 设置一个预提交 Hook 。所以如果 jshint 报告错误,提交应该失败。但这可能吗?如果可能,该怎么做?
最佳答案
有一种更简单的方法可以在您的 Node.js 工作流程中进行预提交检查(例如 JSHint):
安装 jshint来自 NPM:
npm 安装 jshint
接下来,如果您的项目中还没有一个 .jshintrc 文件,请创建一个。 例如:https://github.com/nelsonic/learn-jshint/blob/master/.jshintrc
现在安装pre-commit模块(并将其保存为开发依赖项):
npm install pre-commit --save-dev
接下来,您需要在 package.json
中定义将为 JSHint 运行的任务(脚本)例如:
{ “脚本”:{ “jshint”:“jshint -c .jshintrc --exclude-path .gitignore 。” }
然后注册要在提交前运行的脚本(也在 package.json 中)例如:
“预提交”:[“jshint”、“coverage”、“etc”]
这使您可以在提交前的工作流程中进行不止一项检查。 (我们有检查以确保团队成员的代码符合 JSHint、代码风格和测试覆盖率是 100%)
有关您可以与您的团队分享的更详细的教程,请参阅:https://github.com/nelsonic/learn-pre-commit
关于git - 设置预提交钩子(Hook) jshint,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15703065/