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

时间:2016-04-21 07:20:51

标签: angularjs eslint

我的文件夹结构如下:

-client // Contains the front end and AngularJS code  
-server // Contains backend code  
-models // Contains backedn code  

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

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

客户端文件夹配置如下所示:

{
    "extends": "angular"
}

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

{
    "extends": "airbnb-base",
    "root": true
}

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

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

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

2 个答案:

答案 0 :(得分:7)

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

如果您想知道如何对代码的不同部分进行lint,这是一个建议。

- myproject
--- .eslintrc
--- src
------ client
--------- .eslintrc 
------ server
--------- .eslintrc

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

rules:
    brace-style: [2, "1tbs"]
    comma-style: [2, "last"]
    default-case: 2
    func-style: [2, "declaration"] ...

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

env:
    browser: true

globals:
    angular: false

plugins:
  - angular

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

env:
    node: true

我通常在保存时输入一个javascript文件。

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

答案 1 :(得分:0)

我建议使用两个配置和两个任务:

eslint -c .eslintrc-client.json client

eslint -c .eslintrc-server.json server models