最近使用create-react-app创建了一个项目。但是众所周知的是,这个脚手架创建的项目并没有默认加入Eslint等线头插件来规范代码。
考虑到项目中很多项目没有使用类似的代码检查工具,为了规范开发。这次有必要记录一下流程。
<强> 1。安装Eslint
强>
首先,先安装Eslint到项目本地(全局安装亦可)。
npm——save-dev安装eslint
安装完成之后,我们先创建基础的.eslintrc.yml(建议使用.yml格式,json/js格式也可以):
/node_modules/in/eslint——init # #全局安装,可用‘eslint——init
输入上述命令之后,会出现询问界面:
& # 63;你想要如何配置ESLint& # 63;(用箭头键)
引用>
,用一个流行的风格指南
& # 10095;回答你的风格
,检查您的JavaScript文件(s)
选择“回答你的风格”,后面有一些问题,根据实际进行选择。
上述操作完成之后,会帮我们创建一个基础的.eslintrc.yml文件。我们也可以使用触摸.eslintrc.yml自行创建。
<强> 2。安装babel-eslint 强>
由于项目中需要使用到ES2015的语言规范,因此需要安装babel-eslint:
npm安装——save-dev babel-eslint安装完成之后,我们需要在.eslintrc.yml中修改配置
解析:“babel-eslint”【注意】:若没有该项,曾手动增加
<强> 3。安装eslint-plugin-react 强>
项目中需要使用反应框架,需要识别出反应特定的语法规则和要求,需要安装eslint-plugin-react:
npm安装——save-dev eslint-plugin-react安装完成之后,我们需要引入该Eslint组件。修改.eslintrc.yml配置:
插件: ——反应特别提醒:YML语法规则中表示数组格式:——开头,后面为数组元素,如此处的反应。属性值中若不含特殊字符,可以不加上双引号。
<强> 4。安装Airbnb 强>
到现在为止,我们只使用了一些默认创建的校验规则,为了避免我们自己按照Eslint的规则一个一个来个性化定制规则,很是麻烦。这里我们使用GitHub, airbnb/javascript: javascript风格指南规范来定义规则。这就需要安装如下插件:
npm我——save-dev eslint-config-airbnb eslint-plugin-import eslint-plugin-jsx-a11y接着,我们修改.eslintrc.yml配置,将扩展插件变更为Airbnb:
延伸:“airbnb”到此,静态代码检查工具安装结束。
<>强检查Git提交的代码强>
除了静态代码检查,我们还设置一道关卡来保证提交的代码符合规范。这就需要使用到我们主角导向钩子。
这里假设项目中使用Git进行代码的提交操作。首先在包中。json中增加如下脚本指令:
{ "脚本":{ “棉絮”:“eslint - ext js - ext .jsx src " } } >之前这里将检查目录src下面所有以js或。jsx格式结尾的代码文件。
然后,安装导向,以便检查提交操作:
先执行安装npm安装——save-dev未雨绸缪,然后在包中。json中增加下面配置。
{ “未雨绸缪”:( “棉絮” ] } >之前这里的线头对应第第1步中增加的脚本命令名。
完成之后,在每次提交代码之前,未雨绸缪都会拦截Git的提交操作,然后运行线头命令进行代码检测,若检测到有违反校验规则的情况,则会返回错误,从而导致Git提交失败。
<强> 1。代码检查。js文件不支持jsx。强>
error JSX不允许与扩展的. js文件,反应/jsx-filename-extension
引用>
此时需要增加配置以便支持在js文件中支持使用JSX语法。
规则: 反应/jsx-filename-extension: ——警告 -扩展: - - - - - -”。js " # . js文件适用 ——“.jsx”在反应项目中使用Eslint代码检查工具及常见问题