Angular 项目中的 Angular-ESLint 规则排除和 eslint.config.mjs

问题描述 投票:0回答:1

我是第一次使用 ESLint。我使用

ng add @angular-eslint/schematics
将其安装在我的 Angular 项目中 https://github.com/angular-eslint/angular-eslint/blob/main/README.md.

安装创建的

eslint.config.mjs
文件如下所示:

import globals from "globals";
import pluginJs from "@eslint/js";
import tseslint from "typescript-eslint";


export default [
  {files: ["**/*.{js,mjs,cjs,ts}"]},
  {files: ["**/*.js"], languageOptions: {sourceType: "script"}},
  {languageOptions: { globals: globals.browser }},
  pluginJs.configs.recommended,
  ...tseslint.configs.recommended,
];

在不调整此配置的情况下运行 ESLint,使用

ng lint
,我收到了报告“628 个问题(621 个错误,7 个警告)”。其中许多违规行为都与我目前不关心的一些规则有关,因此我想将其关闭。其中之一是
prefer-const
,所以我尝试了这个,基于 https://eslint.org/docs/latest/use/configure/rules 的示例(如果有人注意到,是 Prettier 将双引号更改为单引号)保存时引用):

import globals from 'globals';
import pluginJs from '@eslint/js';
import tseslint from 'typescript-eslint';

export default [
  { files: ['**/*.{js,mjs,cjs,ts}'], rules: { 'prefer-const': 'off' } },
  { files: ['**/*.js'], languageOptions: { sourceType: 'script' } },
  { languageOptions: { globals: globals.browser } },
  pluginJs.configs.recommended,
  ...tseslint.configs.recommended,
];

运行 ESLint,我得到了与第一次相同的结果。分阶段走得更远,我最终陷入了超速状态:

import globals from 'globals';
import pluginJs from '@eslint/js';
import tseslint from 'typescript-eslint';

export default [
  { files: ['**/*.{js,mjs,cjs,ts}'], rules: { 'prefer-const': 'off' } },
  { files: ['**/*.js'], languageOptions: { sourceType: 'script' }, rules: { 'prefer-const': 'off' } },
  { rules: { 'prefer-const': 'off' } },
  { languageOptions: { globals: globals.browser } },
  pluginJs.configs.recommended,
  ...tseslint.configs.recommended,
  { rules: { 'prefer-const': 'off' } },
];

结果仍然没有改变。谁能看出出了什么问题吗?

angular eslint angular-eslint
1个回答
0
投票

我想我不熟悉最新的 ESLint,但我的项目在我的 Angular 项目上使用 ESLint v7,没有任何特定的 Angular 插件。

{
  "root": true,
  "parser": "@typescript-eslint/parser",
  "plugins": [
    "@typescript-eslint"
  ],
  "extends": [
    "eslint:recommended",
    "plugin:@typescript-eslint/recommended"
  ],
  "rules": {
    "@typescript-eslint/explicit-module-boundary-types": "off",
    "@typescript-eslint/no-non-null-assertion": "off",
    "@typescript-eslint/no-var-requires": "off"
  }
}

我只是跑步

npm run lint
:

"lint": "eslint ./src/app/*.ts ./src/app/**/*.ts",

它对我来说效果很好。

另一种选择是在你的项目中添加抑制错误的注释

© www.soinside.com 2019 - 2024. All rights reserved.