如何设置具有不同规则的文件夹和具有不同规则的其他文件夹

cal*_*tie 4 angularjs eslint

我的文件夹结构如下:

-client // Contains the front end and AngularJS code  
-server // Contains backend code  
-models // Contains backedn code  
Run Code Online (Sandbox Code Playgroud)

现在,我希望仅对客户端文件夹使用eslint angular,而我希望将airbnb base用于不在客户端文件夹中的其他文件夹.

我有两个.eslintrc.json文件 - 一个在客户端文件夹中,一个在ROOT文件夹中.

客户端文件夹配置如下:

{
    "extends": "angular"
}
Run Code Online (Sandbox Code Playgroud)

而根文件夹中的那个看起来像:

{
    "extends": "airbnb-base",
    "root": true
}
Run Code Online (Sandbox Code Playgroud)

现在,在根文件夹中,当我运行eslint .时,后端文件夹正在被正确打印,前端似乎根本没有使用angularjs eslint - 我收到的ES6错误,我没有使用客户端文件夹.我不会因为没有在客户端文件夹(角度插件应该使用)中遵循John Papa的样式指南而得到错误.

但是,如果我进入客户端文件夹并在其中运行esling命令,它似乎使用正确的配置.

如何配置它以便只有客户端文件夹使用角度eslint而其他文件夹使用airbnb?

the*_*gio 7

客户端和服务器代码的配置

如果你想知道如何lint不同的代码部分,这是一个建议.

- myproject
--- .eslintrc
--- src
------ client
--------- .eslintrc 
------ server
--------- .eslintrc
Run Code Online (Sandbox Code Playgroud)

myproject/.eslintrc包含通用规则.例如,

rules:
    brace-style: [2, "1tbs"]
    comma-style: [2, "last"]
    default-case: 2
    func-style: [2, "declaration"] ...
Run Code Online (Sandbox Code Playgroud)

src/client/.eslintrc包含客户端规则.例如,

env:
    browser: true

globals:
    angular: false

plugins:
  - angular
Run Code Online (Sandbox Code Playgroud)

src/server/.eslintrc包含服务器端规则.例如

env:
    node: true
Run Code Online (Sandbox Code Playgroud)

通常我保存时会输入一个javascript文件.

ESLint也在全球范围内安装.如ESLint的config帮助页面中所述,全局安装的ESLint实例只能使用全局安装的ESLint插件.本地安装的ESLint可以确保本地和全局安装的ESLint插件.我需要在全球范围内安装该插件.