Skip to content

Latest commit

 

History

History
155 lines (132 loc) · 3.9 KB

config.md

File metadata and controls

155 lines (132 loc) · 3.9 KB

配置文件说明

格式要求

配置文件支持两种格式

  1. npm模块的形式导出配置,即

    文件名如lint.js等js文件
    module.exports = {
      html:{}
      /* your config here */
    };
    
  2. json格式的文件,后缀名不限制,内容必须是json格式的,如

    文件名如lint.json/.lintrc等
    {
      "html":{}
      /* your config here */
    }
    

配置内容

目前lint-plus集成了三种检查工具,分别是检查HTML代码的xg-htmlhint,检查css代码的xg-csshint以及Eslint
每一个配置文件中可以配置三个属性,分别是htmlcssjs,代表检查这三种代码的工具配置。不进行配置或将这些属性配置为false,表示不启用该工具,如

{
  "html":false,
  "css":{
    /* .... */
  }
}

上述配置表示禁用html和js代码检查,启用css检查。
每一项配置中有多个共同的配置属性,如

  • suffix:表示启用检查工具去情况下需要被检查的文件的后缀名,可以是数组或字符串

     suffix:"js"
     或
     suffix:["js","es"]
    
  • ignore:需要被检查工具忽略的文件,支持glob语法,可以是数组或字符串

     ignore:"test.js"
     或
     ignore:"*.jsx"
     或
     ignore:["test/**/*.js","foo*.js"]
    
  • extends:继承的配置,用法参考Eslint配置中的extends配置,不但每个检查工具可以进行规则继承,所有的规则也可以继承。

     {
       extends:"../extend/config",
       html:{
     	extends:["../config-a","config-b"]
     	...
       },
       css:{
         extends:["../config-css","config-scss"]
     	...
       },
       js:{
         extends:"../config-es5"
     	...
       }
     }
    
  • rules:对规则进行配置,配置内容因工具而异

除此之外,还可以配置额外的属性,如eslint除了上述属性,还可以配置env,global等,可以直接在js下面进行相应配置。

{
  js:{
    suffix:"js",
    extends:"eslint:recommended",
    env:{
      node:true
    },
    global:{
      jQuery:true
    },
    rules:{
      ... 
    }
  }
  ...
}
  • eslint 特殊的配置

    • extends属性 extends可以配置为字符串,如
     extends:"eslint:recommended"
    

    也可以是字符串数组,如

     extends:["eslint:recommended","path/to/extends.json"]
    
    • plugins 新增的插件支持和eslint原生的配置有所不同,支持多种配置方式,如单独的字符串
     plugins:"angular"
    

    或者数组

     plugins:["angular","react"]
    

    以上两种配置会在node_modules目录下查找eslint-plugin-xxx的npm包,如果插件并不是以一个npm包的形式存在,可以指定路径,如下

     plugins:{
     	angular:"path/to/angular-plugin"
     }
     或
     plugins:["react",{
     	angular:"path/to/angular-plugin"
     }]
    

    以下配置中angular插件是无效

     plugins:{
     	react:"path/to/react/plugin",
     	angular:"path/to/react/plugin"
     }
    

    注意:使用全局lint-plus不会加载本地的插件,所以建议使用对象(plugins:{angular:"path/to/plugin"})的形式指定插件及其本地路径;使用本地的lint-plus就可以正常使用本地的插件,也就可以使用plugins:["angular"]plugins:"react"这样的写法了.

    • fix 设置fix为true,如
     fix:true
    

    可以将ESLint中可修复的错误进行修复,具体参考ESLint Rules

参考配置