ESLint:在 angularjs 应用程序中使用推荐的默认规则

Posted

技术标签:

【中文标题】ESLint:在 angularjs 应用程序中使用推荐的默认规则【英文标题】:ESLint: Using recommended default rules with angularjs applications 【发布时间】:2016-01-02 04:27:47 【问题描述】:

我最近在我的 Angular 应用程序中添加了 ESLint-ing,并很快意识到我需要 eslint-plugin-angular 插件才能正确地对我的应用程序进行 lint。

在此之前,我在 .eslintrc 文件中使用 extends 属性并设置为 eslint:recommended 以使用 eslint 推荐的规则集。


  "extends": "eslint:recommended"

我通过在我的代码中的对象定义中添加一个尾随逗号来测试它是否有效,以确保我看到 eslint 出现错误。

现在,按照 eslint-plugin-angular 的指南,我还安装了 eslint-config-angular,我发现最快的入门方法是使用可共享配置。

如果我使用扩展角度配置选项代替我当前的:


  "extends": "angular"

我不再因为意外的尾随逗号而引发错误。

那么,有没有一种方法可以在扩展配置选项中同时使用 angular 和 eslint:recommended? 例如:


  "extends": ["angular", "eslint:recommended"]

(我知道这行不通)

如果不是,这是否意味着我必须在我的 .eslintrc 中创建一个规则配置对象来模仿 eslint 推荐的规则?


  "extends": "angular",
  "rules" : 
    ...
  

【问题讨论】:

你用什么做 linting ? (sublime、atom、gulp、eslint 命令直接...)。我已经使用 eslint 命令进行了测试,"extends": ["angular", "eslint:recommended"] 应该可以工作。我确实必须在全球范围内安装 eslint-plugin-angulareslint-config-angular 【参考方案1】:

我不知道在输入这篇 SO 文章之间是否有代码更改,但我在我的 .eslintrc 文件中使用了 "extends": ["eslint:recommended", "angular"],它工作正常。我与"env" 属性处于同一级别。

我的package.json 文件分别有eslinteslint-plugin-angular 2.3.0 和0.5.0 版本。

【讨论】:

【参考方案2】:

如果您使用的是 TypeScript(如 Angular2),您可以使用tslint。 有来自微软的eslint rules for tslint 和tslint-microsoft-contrib。

最后,为 Angular2 设置了一个规则:codelyzer

【讨论】:

以上是关于ESLint:在 angularjs 应用程序中使用推荐的默认规则的主要内容,如果未能解决你的问题,请参考以下文章

ESlint:关闭项目中的特定规则

如何在 JSF 2.0 中使会话无效?

setAdapter() 在 android studio 中使 android 应用程序崩溃

在 UITextView 中使图像可点击

在引导程序中使列固定位置

如何在 livewire / alpinejs 应用程序中使 flatpickr datepicker 反应?