1. 当前项目目录安装npm eslint --save-dev
  2. eslint --init 生成一个.eslintrc.js文件(可自己在这个文件中进行配置)
  3. 安装
npm i eslint-config-airbnb eslint-loader eslint-plugin-babel eslint-plugin-import eslint-plugin-jsx-a11y eslint-plugin-react babel-eslint --save-dev
复制代码
  1. package.json文件中添加
"lint-staged": {"linters": {"*.js": ["eslint --fix","git add"]},"ignore": ["**/static/**/*.js"]},
复制代码

.eslintrc.js文件

module.exports = {extends: ['eslint-config-airbnb'],env: {browser: true,node: true,jasmine: true,jest: true,es6: true,},globals: {$: false,jQuery: false,Highcharts: false,require: false},parser: 'babel-eslint',parserOptions: {ecmaVersion: 6,ecmaFeatures: {jsx: true,experimentalObjectRestSpread: true,},},plugins: ['react','babel',],rules: {'func-names': 0,'arrow-parens': 0,'prefer-const': 2,            // 不强制 const 还是let'prefer-destructuring': [1, {"array": false,"object": true}],'comma-dangle': ['error', 'always-multiline'],           // 不强制 最后一个 ,'class-methods-use-this': 0,  // 不判断对象方法里是否使用了 this'consistent-return': 0,       // 允许函数根据代码分支具有不同的return行为'consistent-this': 2,       // this 的别名统一使用 that'curly': [2, 'all'],          // 语句块不允许省略花括号'func-style': ['error', 'declaration', { "allowArrowFunctions": true }], // 只允许使用 function 定义函数'multiline-comment-style': ['error', 'starred-block'], // 多行注释'no-await-in-loop': 0,        // 循环里的 await'no-bitwise': 0,              // 允许位运算'no-console': 1,              // 上线的代码里不允许有 console'no-empty-function': ['error', { allow: ['arrowFunctions'] }], // 不允许空函数'no-nested-ternary': 0,       // 允许三元运算嵌套'no-param-reassign': ['error', { props: false }],              // 禁止对参数赋值'no-plusplus': 0,             // 允许 ++  -- 运算'no-script-url': 0,           //'no-throw-literal': 0,'no-unused-expressions': ['error', { "allowShortCircuit": true, "allowTernary": true }],'no-warning-comments': ['warn', { terms: ['todo', 'fixme', 'fixed'], location: 'anywhere' }],'no-multiple-empty-lines': 0, // 允许连续空行'no-mixed-operators': 0,'no-prototype-builtins': 0, // 禁止操作 Object.prototype'object-curly-newline': ['error', {consistent: true}],// 'object-curly-newline': ['error', {multiline: true}],'prefer-arrow-callback': 0, // callback里允许使用普通函数'import/no-amd': 0,         // 允许 amd 导入风格'import/no-dynamic-require': 0, // 允许使用 require 动态导入'import/no-commonjs': 0,    // 允许 commonjs 风格'import/namespace': 2,      // 使用import * as xx导入的时候, 检测使用到的xx的属性是否有export'import/default': 2,        // 确保 import default 的组件里有 export default'import/no-extraneous-dependencies': ['error', { // 只允许导入package.json里依赖的包devDependencies: false,optionalDependencies: false,}],'react/no-danger': 0, // 允许使用 dangerouslySetInnerHTML'react/no-direct-mutation-state': 2, // 禁止直接修改 state'react/no-did-update-set-state': 0,     //'react/no-find-dom-node': 2,            // 禁止使用 findDomNode'react/no-render-return-value': 2,      // render 必须有返回值'react/no-set-state': 0,                // 关闭 尽量用无状态组件'react/prefer-es6-class': ['error', 'always'], //'react/require-optimization': 1,'react/jsx-child-element-spacing': 0,'react/jsx-curly-spacing': [2, 'always'], // 属性大括号内的空格'react/jsx-equals-spacing': [2, 'never'],'react/prefer-stateless-function': 2,'react/jsx-first-prop-new-line': [2, 'multiline-multiprop'], // 多行属性才换行'react/jsx-handler-names': 2,'react/jsx-filename-extension': [2, {extensions: ['.js', '.jsx']}],'react/jsx-indent': [2, 2], // jsx缩进2个空格'react/jsx-indent-props': [2, 2],'react/jsx-key': 2,         // 循环元素必须有key'react/jsx-no-target-blank': 0,'react/jsx-one-expression-per-line': 0, // 关闭 表达式占单行'react/jsx-sort-default-props': 0,'react/jsx-sort-props': 0,'react/jsx-space-before-closing': [2, 'never'],'react/jsx-tag-spacing': 0,},};}
复制代码

前端react项目中添加Eslint校验相关推荐

  1. 前端React项目中实现萤石云ezuikit摄像头的播放与控制

    最近要在react项目中使用萤石云提供的ezuikit库来接入萤石云摄像头,实现远程播放.控制移动.放大缩小等功能,首先百度搜类似的需求,搜不到,只能自己采坑,登萤石云官网,看对应文档. 一.登录萤石 ...

  2. 在react项目中使用ESlint

    eslint按指定的规则去检查我们的代码(也可以一定的程度修正代码) 最好的时间点是创建项目时使用 vue-cli集成了eslint的配置,可以让我们自己选择 cra没有集成eslint,需要我们自己 ...

  3. vue项目和react项目中禁止eslint

    vue项目禁止eslint: react项目禁止eslint: 找到webpack.base.conf.js文件,然后注释掉里面 红色框圈住的内容即可.

  4. React 项目中使用Echarts

    直接上代码吧: react 项目中添加Echarts 相关模块 npm install echarts --save 代码: import React from 'react' import * as ...

  5. vue 打开html流_在vue项目中添加一个html页面,开启本地服务器

    在vue项目里新增一个不需要登录的页面,那么我只能新增一个html页面了,不经过路由,直接在浏览器输入路径打开,那么就需要用到本地服务器, 1.vue里面的html页面最好放过在public文件夹里面 ...

  6. react 使用 leaflet 百度地图_【React】react项目中应用百度地图添加起始点绘制路线...

    如图:项目中百度地图的应用添加起始点.终点并绘制路线 在展示代码的时候首先展示一下后台返回给我的接口 { 其中position_list参数代表的是用户的行驶点, area参数代表的是服务区的坐标点, ...

  7. react前端显示图片_如何在react项目中引用图片?

    如何在react项目中引用图片?本文码云笔记将为大家整理在react项目中插入图片以及背景图片的方法,希望对需要的小伙伴提供一些参考. 在react项目中插入图片以及背景图片的方法共有2种: 1.im ...

  8. 中使用js修改变量值_谈一谈css-in-js在React项目中的使用

    一.什么是css-in-js 参考:[css in js 简介] 简单来说,传统的前端方案推崇"关注点分离"原则,HTML.CSS.JavaScript 应该各司其职,进行分离. ...

  9. react本地储存_如何在React项目中利用本地存储

    react本地储存 以及为什么要这么做. 本地存储是现代Web浏览器固有的Web API. 它允许网站/应用程序在浏览器中存储数据(简单和有限),从而使数据在以后的浏览器会话中可用. 在开始学习本教程 ...

最新文章

  1. 【组队学习】【28期】Datawhale组队学习内容介绍
  2. 字节一实习生误删公司所有lite模型,几百人为其善后,有员工处理事故到凌晨三点!...
  3. python使用tqdm实现程序运行进度条
  4. Python知识点7——类
  5. struts+hibernate 分页
  6. html测试大题代码,Html5+js测试题(示例代码)
  7. 数据中心进水了怎么办?数据中心如何防洪?
  8. 【转】五、谈扩展方法的理解
  9. caffe编译报错 cudnn.hpp:127:41: error: too few arguments to function ‘cudnnStatus_t cudnnSetPooling2dDe
  10. python大纲图_Python课程大纲
  11. MySQL设置或修改系统变量的几种方法
  12. SUPL overview
  13. excel取消合并单元格并自动填充数据
  14. 隆重推出 Incredibuild 10
  15. 188. 武士风度的牛
  16. SpringBoot+Vue实现前后端分离的小而学在线考试系统
  17. android 服务器201,【报Bug】h5+app 网络请求 状态码返回201会报错200不会
  18. 虚拟机防火墙如何关闭
  19. 隐秘而伟大,探访鹏博士大数据双十一背后那些真英雄
  20. 简单又复杂的三层网络转发技术

热门文章

  1. 向数据库写入数据被自动截取的问题
  2. Python tkinter 学习笔记(2)-- 控件、组件(一)
  3. 谓语动词的变化-语态
  4. 我的小金库(跬步千里)
  5. 海天味业组建智能生产线,打造完美海天酱油
  6. 【技术美术图形部分】实时阴影:光栅化与光线追踪
  7. 绿盟科技网络安全威胁周报2017.09 请关注MSIE Edge任意代码执行漏洞CVE-2017-0037
  8. Mob研究院 | 2019休闲零食行业深度解读
  9. vue 雷达扫描_雷达扫描效果(canvas)
  10. 20170114经济学人封面文章Lifelong Learning