前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >eslint 入门

eslint 入门

作者头像
copy_left
发布2020-04-30 17:15:47
2.3K0
发布2020-04-30 17:15:47
举报
文章被收录于专栏:方球方球

安装

代码语言:javascript
复制
// 局部安装
npm i eslint --save-dev

or

yarn add eslint

// 全局安装
npm i eslint -g

yarn global eslint

初始化

代码语言:javascript
复制
npx eslint init

of 

// 全局安装 eslint
eslint init

检测

代码语言:javascript
复制
// eslint [options] [file|dir|glob]*

npx eslint src/index.js

配置

注释配置

代码语言:javascript
复制
/* eslint-env node, mocha */

文件配置

代码语言:javascript
复制
// .eslintrc
{
    env:{
    
    }
}

// package.json
{
    eslintConfig: {
        ...
    }
}

配置项

  • extends: [ ... ] 继承已有预设规则 extends: [ 'airbnb', 'prettier', 'plugin:jest/recommended', 'plugin:react/recommended', 'plugin:import/typescript', 'prettier/react', ],
  • parser : esprima 解析器 详情 "parser": "esprima"
  • plugins: [ ... ] 插件, 检测其他类型文件中的js代码, 可省略 “eslint-plugin-” 前缀名 详情 "plugins": [ "plugin1", "eslint-plugin-plugin2" ]
  • processor: "插件名/处理器名" 指定插件内的处理器, 插件需先配置在 plugins中 详情
代码语言:javascript
复制
"plugins": ["a-plugin"],
"processor": "a-plugin/a-processor"
  • overrides: [ { ... } ] 为指定类型文件单独设置配置 "plugins": ["a-plugin"], "overrides": [ { "files": ["*.md"], "processor": "a-plugin/markdown", "rules": { "strict": "off" } } ]
  • env : { ... } 预设全局环境变量 详情 "env": { "browser": true, // 浏览器环境 "node": true // node环境 }
  • globals: { [ 变量名:“writable” | “readonly” ] } 自定义全局变量 详情 { "globals": { "var1": "writable", // 可修改 "var2": "readonly" // 只读 } }` `
  • rules:[ 规则名: 错误等级 ] 代码检测规则 详情
    • "off" | 0 关闭规则
    • ”warn“ | 1 警告级
    • ”error“ | 2 错误级 < 将退出程序 >

    // 注释型配置 /* eslint eqeqeq: "off", curly: "error" */ // 文件型配置 "rules": { "eqeqeq": "off", "curly": "error", "quotes": ["error", "double"] }

  • settings: { ... } 共享信息, 各规则将共享该数据 "settings": { "sharedData": "Hello" }

注释配置类型 详情

  • 规则禁用块 /* eslint-disable */ alert('foo'); /* eslint-enable */
  • 指定规则禁用块 /* eslint-disable no-alert, no-console */ alert('foo'); console.log('bar'); /* eslint-enable no-alert, no-console */
  • 文件规则禁用 /* eslint-disable */ alert('foo');
  • 单行规则禁用 // 禁用全部规则 [ eslint-disable-line ] alert('foo'); // eslint-disable-line // eslint-disable-next-line alert('foo'); /* eslint-disable-next-line */ alert('foo'); alert('foo'); /* eslint-disable-line */ // 禁用指定规则 [ eslint-disable-line 规则名 ] alert('foo'); // eslint-disable-line no-alert // eslint-disable-next-line no-alert alert('foo'); alert('foo'); /* eslint-disable-line no-alert */ /* eslint-disable-next-line no-alert */ alert('foo'); // 禁用多条指定规则 [ eslint-disable-line 规则名1, 规则名2, 规则名3 ] alert('foo'); // eslint-disable-line no-alert, quotes, semi // eslint-disable-next-line no-alert, quotes, semi alert('foo'); alert('foo'); /* eslint-disable-line no-alert, quotes, semi */ /* eslint-disable-next-line no-alert, quotes, semi */ alert('foo');

优先级 详情

项目中可以存在多个规则配置文件, 采用就近原则, 叠加配置

文件检测屏蔽配置 .eslintignore 详情

代码语言:javascript
复制
// .eslintignore 屏蔽配置文件

# 注释
/root/src/*.js

# Invalid
\root\src\*.js

命令 详情

规则 详情

工具集成 详情

扩展

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装
  • 初始化
  • 检测
  • 配置
  • 配置项
  • 注释配置类型 详情
  • 优先级 详情
  • 文件检测屏蔽配置 .eslintignore 详情
  • 命令 详情
  • 规则 详情
  • 工具集成 详情
  • 扩展
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档