【问题标题】:How do I setup a folder with a different rule and another folder with a different rule如何设置具有不同规则的文件夹和具有不同规则的另一个文件夹
【发布时间】:2020-06-01 16:35:52
【问题描述】:

我的文件夹结构如下:

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

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

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

客户端文件夹配置如下:

{
    "extends": "angular"
}

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

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

现在,在根文件夹中,当我运行 eslint . 时,虽然后端文件夹被正确检查,但前端似乎根本没有使用 angularjs eslint - 我收到了关于 ES6 的错误,我我没有使用客户端文件夹。我也没有收到关于未在客户端文件夹中遵循 John Papa 样式指南的错误(角度插件应该这样做)。

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

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

【问题讨论】:

    标签: angularjs eslint


    【解决方案1】:

    客户端和服务器代码配置

    如果您想知道如何对代码的不同部分进行 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 文件时对其进行 lint。

    ESLint 也是全局安装的。如 ESLint 的配置帮助页面所述,全局安装的 ESLint 实例只能使用全局安装的 ESLint 插件。 本地安装的 ESLint 可以确保本地和全局安装的 ESLint 插件。那就是我还需要全局安装插件。

    【讨论】:

      【解决方案2】:

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

      eslint -c .eslintrc-client.json client

      eslint -c .eslintrc-server.json server models

      【讨论】:

        猜你喜欢
        • 2011-08-14
        • 2014-11-11
        • 1970-01-01
        • 1970-01-01
        • 2018-05-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多