我是第一次使用 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' } },
];
结果仍然没有改变。谁能看出出了什么问题吗?
我想我不熟悉最新的 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",
它对我来说效果很好。
另一种选择是在你的项目中添加抑制错误的注释。