eslint 配合 git (husky)
为了保证每次提交的 git 代码是正确的,为此我们可以使用 eslint 配合 git hook, 在进行git commit 的时候验证eslint规范
如果 eslint 验证不通过,则不能提交。
我们需要安装一个 git 的 hook 工具 -- husky
npm install husky --save-dev
安装好之后在package.json scripts下面加入esliint的命令验证 eslint的规则
"scripts": {
"lint": "eslint --ext .js --ext .jsx client/"
}
接下来在package.json 下面加入 husky 的配置项
"husky": {
"hooks": {
"pre-commit": "echo 'husky' && npm run lint"
}
},
意思是在进行 git commit 的时候 先去执行 pre-commit 里面的命令 : 我们在这里输出 husky 并且执行 npm run lint (我们之前加上的验证eslint的命令)
如果eslint验证通过了,则会进行commit 操作,否则会报eslint的错误提示
当然husky不止是能验证 commit ,也可以进行 push 等操作验证,具体可以参照 npm husky
最后:一定要使用 npm 安装 eslint 和 husky
因为windows操作系统下 , 我用 yarn 安装的y依赖, 不会触发 husky pre-commit 钩子命令, 改用npm 安装 后就能触发 钩子命令,但是找不到 eslint 依赖。
所以我把 node_modules 全部删了,使用 npm install 重新安装了所有的依赖才好 的。
拜了个拜!
eslint 配合 git (husky)的更多相关文章
- 可以方便配合 Git 的现代编辑器
可以方便配合 Git 的现代编辑器 虽然有些人说编辑器不重要,有人用记事本来编辑 PHP(我是不推荐的),但学是要推荐一些现在编辑器. 可以很方便的配合 Git,比如有冲突时不会看得晕乎乎,使用鼠标点 ...
- 码云配合git入门命令总结学习
目录 码云配合git入门命令总结学习 基本设置 基本命令总结学习 准备工作以及基本思路 基本命令 码云搭建仓库步骤 准备前工作 具体操作方法 远程仓库基本命令 标签相关命令 所有命令总结 基本命令总结 ...
- Windows环境下安装配置Teamcity配合git自动发布mvc,webapi站点
以下是本人配置Teamcity具体环境和步骤,只实现了项目发布,打包.Nodejs npm gulp没有配置成功,后期补上. 1 环境安装 本人使用的是windows7 sp1 64位系统,(.net ...
- Coding配合git使用时遇到的问题
转载整理: https://www.jianshu.com/p/b23cd00cffa6 https://www.cnblogs.com/yidoucai/p/5228763.html https:/ ...
- PathMarker:命令行快速编辑跳转工具(配合git,find等)
简介 当使用git, find等工具时,一般需要进一步打开文件或跳转目录. 通常的做法是使用鼠标复制黏贴,或者手工输入. PathMarker提供一种快速通过标号,编辑相关文件,跳转相关目录的方法,提 ...
- sourcetree的使用(配合git)
主要讲解sourcetree的使用,是一个git提交的可视化软件,在官网上下载(windows,mac都有) 一路下载安装 首先,为了给本地sourcetree一个私钥,我们需要先下载git,然后在g ...
- 为公司架构一套高质量的 Vue UI 组件库
有没有曾遇过,产品要我们实现一个功能,但是 iview 或者 elementui 不支持,我们然后义正言辞的说,不好意思,组件库不支持,没法做到. 有没有曾和设计师争论得面红耳赤,其实也是因为组件库暂 ...
- eslint+prettier+husky+lint-staged 统一前端代码规范
eslint+prettier+husky+lint-staged 统一前端代码规范 遵循编码规范和使用语法检测,可以很好的提高代码的可读性,可维护性,并有效的减少一些编码错误. 1.终极目标 团队中 ...
- vue项目在git commit时,使用eslint检测
用vue-cli3创建新项目可以自定义配置,选择eslint,所以eslint不需要配置, 项目根目录下面生成一个 .eslintrc.js文件,里面可以自定义配置eslint规则 现在在开发的时候, ...
随机推荐
- python logging模块学习(转)
前言 日志是非常重要的,最近有接触到这个,所以系统的看一下Python这个模块的用法.本文即为Logging模块的用法简介,主要参考文章为Python官方文档,链接见参考列表. 另外,Python的H ...
- void f(int(&p)[3]){} 和void f(int(*p)[3]){}的差别
#include<iostream> using namespace std; void f(int(&p)[3]){ cout<<p[0]<& ...
- winform程序公布后,client下载报错“您的 Web 浏览器设置不同意执行未签名的应用程序”
如题 在winserver2008服务器上操作会报错.解决的方法: IE→Internet选项→安全→可信网站,加入信任公布的IP地址
- mongodb读写分离的一些选项的理解
默认情况下 驱动程序会将所有的请求路由到主节点 这通常也是你需要的 但是也可以通过设置驱动程序的读取首选项(read preferences)配置其他选项 可以在读选项中设置需要将查询路由到的服务器的 ...
- make -j 4 echo !$
make -j 4 #以cpu四核编译 !$上一次命令空格后的部分
- KVO(1)
#import "ViewController.h" @interface ViewController () @property(nonatomic, strong)UIButt ...
- IE67实现inline-block布局
inline-block可以定义元素为行内块级元素,即既具有行内元素同占一行的特点,又具有块级元素的box模型.但是IE67和其他浏览器的支持差别比较大: 1.行内元素使用inline-block变成 ...
- 【Android】getActionBar()为null的解决方法总结
前言 在使用 ActionBar的时候,有时候会爆出空指针异常,这是由于应用没有获取到 ActionBar 导致的,而导致应用没有获取到 ActionBar 的原因比較多.所以我们以下就来总结一下 A ...
- 配置fio支持rbd測试引擎
fio的rbd測试引擎能够非常方便的对rbd进行測试.以下示范怎样安装fio支持rbd引擎. git clone git://git.kernel.dk/fio.git $ cd fio $ ./co ...
- 把握linux内核设计思想(二):硬中断及中断处理
[版权声明:尊重原创.转载请保留出处:blog.csdn.net/shallnet,文章仅供学习交流,请勿用于商业用途] 操作系统负责管理硬件设备.为了使系统和硬件设备的协同工作不减少机器性能.系统和 ...