【问题标题】:Error: .eslintrc.json: Configuration for rule "import/no-unresolved" is invalid and should NOT have additional properties错误:.eslintrc.json:规则“import/no-unresolved”的配置无效,不应具有其他属性
【发布时间】:2022-11-10 01:35:02
【问题描述】:

实施后埃斯林特更漂亮在一起没有冲突,通天塔已正确添加。

我正在尝试添加绝对路径打字稿使用插件“eslint 插件模块解析器",编译、转译或启动服务器一切正常,但仅在 eslint 中我仍然遇到错误。

错误描述 -不应该有额外的属性而“npm 运行 lint”。

有人可以帮我解决这个问题吗?!谢谢

错误 #1

npm run lint

> setup@1.0.0 lint
> eslint . --ext .ts .tsx


Oops! Something went wrong! :(

ESLint: 8.25.0

Error: .eslintrc.json:
        Configuration for rule "import/no-unresolved" is invalid:
        Value {"plugins":["module-resolver/use-alias",{"alias":{"@config":"./src/config","@controllers":"./src/controllers","@services":"./src/services","@models":"./src/models","@routes":"./src/routes","@pages":"./src/pages","@utils":"./src/utils","@middlewares":"./src/middlewares"}}],"caseSensitive":true,"caseSensitiveStrict":false} should NOT have additional properties.

.eslintrc.json

{
      "env": {
        "es2021": true,
        "node": true
      },
      "extends": [
        "eslint:recommended",
        "plugin:prettier/recommended",
        "plugin:@typescript-eslint/recommended",
        "prettier"
      ],
      "overrides": [],
      "parser": "@typescript-eslint/parser",
      "parserOptions": {
        "ecmaVersion": "latest",
        "sourceType": "module",
        "project": "./tsconfig.json"
      },
      "plugins": ["@typescript-eslint", "module-resolver", "prettier", "import"],
      "rules": {
        "indent": ["error", 2],
        "tabwidth": ["error", 2],
        "linebreak-style": ["error", "unix"],
        "quotes": ["error", "double"],
        "semi": ["error", "always"],
        "trailingComma": ["warn", "none"],
        "prettier/prettier": "error",
        "import/no-unresolved": [
          "error",
          {
            "plugins": [
              "module-resolver",
              {
                "alias": {
                  "@config": "./src/config",
                  "@controllers": "./src/controllers",
                  "@services": "./src/services",
                  "@models": "./src/models",
                  "@routes": "./src/routes",
                  "@pages": "./src/pages",
                  "@utils": "./src/utils",
                  "@middlewares": "./src/middlewares"
                }
              }
            ]
          }
        ]
      }
    }

包.json

{
  "name": "setup",
  "version": "1.0.0",
  "description": "Nodejs setup using typescript, babel, eslint and prettier",
  "main": "index.js",
  "author": "Gonzalo Cugiani",
  "license": "MIT",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "dev": "ts-node-dev -r tsconfig-paths/register --respawn src/index.ts",
    "build": "babel src --extensions \".ts, .js\" --out-dir dist --copy-files",
    "start": "node dist/index.js",
    "lint": "eslint . --ext .ts .tsx"
  },
  "devDependencies": {
    "@babel/cli": "^7.19.3",
    "@babel/core": "^7.19.3",
    "@babel/node": "^7.19.1",
    "@babel/preset-env": "^7.19.4",
    "@babel/preset-typescript": "^7.18.6",
    "@types/express": "^4.17.14",
    "@typescript-eslint/eslint-plugin": "^5.40.1",
    "@typescript-eslint/parser": "^5.40.1",
    "babel-plugin-module-resolver": "^4.1.0",
    "eslint": "^8.25.0",
    "eslint-config-prettier": "^8.5.0",
    "eslint-plugin-import": "^2.26.0",
    "eslint-plugin-module-resolver": "^1.5.0",
    "eslint-plugin-prettier": "^4.2.1",
    "prettier": "^2.7.1",
    "ts-node-dev": "^2.0.0",
    "tsconfig-paths": "^4.1.0",
    "typescript": "^4.8.4"
  },
  "keywords": [],
  "dependencies": {
    "express": "^4.18.2"
  },
  "babel": {
    "presets": [
      [
        "@babel/preset-env",
        {
          "targets": {
            "node": "current"
          }
        }
      ],
      "@babel/preset-typescript"
    ],
    "plugins": [
      [
        "module-resolver",
        {
          "alias": {
            "@config": "./src/config",
            "@controllers": "./src/controllers",
            "@services": "./src/services",
            "@models": "./src/models",
            "@routes": "./src/routes",
            "@pages": "./src/pages",
            "@utils": "./src/utils",
            "@middlewares": "./src/middlewares"
          }
        }
      ]
    ]
  }
}

【问题讨论】:

    标签: node.js json typescript npm eslint


    【解决方案1】:

    在 .eslintrc.json 中,删除第二个对象参数

            "import/no-unresolved": [
              "error",
              /* remove this object -> */ {
                "plugins": [
                  "module-resolver",
                  {
                    "alias": {
                      "@config": "./src/config",
                      "@controllers": "./src/controllers",
                      "@services": "./src/services",
                      "@models": "./src/models",
                      "@routes": "./src/routes",
                      "@pages": "./src/pages",
                      "@utils": "./src/utils",
                      "@middlewares": "./src/middlewares"
                    }
                  }
                ]
              }
    

    来自“import/no-unresolved”参数,因为错误表明它不应该存在 一般来说,eslint 插件应该可以在 tsconfig.json 或者 pachage.json 中找到这些数据,所以在 eslintrc 中根本不需要

    【讨论】:

    • 您的意思是仅在 eslintrc.json 中对吗?让我检查一下,因为我在包含 babel 的 eslintrc.json 和 package.json 中具有相同的结构。 @Dimava
    猜你喜欢
    • 2021-02-23
    • 2020-09-03
    • 1970-01-01
    • 2019-10-05
    • 2020-11-25
    • 1970-01-01
    • 2023-01-17
    • 2021-06-24
    • 2021-03-13
    相关资源
    最近更新 更多