当前位置: 首页 > 知识库问答 >
问题:

为什么@typescript-eslint/parser包含在我的tsconfig.json中配置的文件之外的文件?

燕超
2023-03-14

我得到了错误:-

Parsing error: "parserOptions.project" has been set for u/typescript-eslint/parser.

The file does not match your project config: .eslintrc.js.

The file must be included in at least one of the projects provided.

IDE-WebStorm 20.1.1

项目结构:-

node_modules

src

--- testfile.js

.eslintrc.js

.prettierrc.js

baseeslint.js

package.json

tsconfig.json

.eslintrc。js:-

module.exports = {
extends: ['./baseeslint'],
parserOptions: {
project: './tsconfig.json'
},
rules: {}
}

baseeslint。js:-

module.exports = {

parser: '@typescript-eslint/parser'

}

tsconfig.json:-

{

"include": [

"/src/**/*.ts",

"/src/**/*.tsx"

],

"exclude": ["node_modules"],

"compilerOptions": {

"outDir": "./lib",

"types": ["styled-components", "react", "@types/react-router-dom", "reactstrap"]

}

}

我完全不知道为什么会这样?我假设它会忽略根目录中的文件,尤其是我的tsconfg.json中指定的include?

任何帮助都将不胜感激。

编辑:-

我的解决办法,是不是应该帮助别人...

我将ignorePatterns配置添加到我的.eslintrc中。js文件:-

module.exports = {
  extends: ["mycustom/eslint-config"],
  parserOptions: {
    project: './tsconfig.json'
  },
  ignorePatterns: ["/*.*"],
  rules: {}
}

这也可以通过.eslintinignore来实现(参见下面安东·贝索诺夫的回答)。

与此相关的另一件可能对其他人有用的事情是我使用的VScode配置(在发布原始问题后,我从WebStorm切换到VScode)。我非常喜欢在save上运行eslint fix,但我不希望它试图对所有文件都这样做。我的项目文件(只有我的项目文件)都是.ts/.tsx。设置中的以下选项。json允许保存时修复,不包括我的repo中的每个文件:-

{
    "editor.codeActionsOnSave": {
        "source.fixAll.eslint": true
    },
    "eslint.probe": [
        "typescript",
        "typescriptreact"
    ],
}

如果是eslint。未指定探针,默认为:-

[“javascript”,“javascriptreact”,“typescript”,“typescriptreact”,“html”,“vue”]

有关VSCode ESLint扩展设置的更多信息,请参见此处。

共有3个答案

凌智
2023-03-14

可以帮助VS代码用户,卸载或禁用ESLint扩展可能会解决这个问题,它对我很有用:)

师曦
2023-03-14

您也可以忽略。eslintrc。js in.eslintrc。js本身,为您保存一个附加文件:

"ignorePatterns": [
    ".eslintrc.js"
],
洪昱
2023-03-14

为什么会这样?

我不完全确定,但似乎@typecript-eslint/parser尝试将eslint配置中包含的文件(例如通过扩展名)与tsconfig.json中包含的文件进行比较。由于. js文件由@typecript-eslint/parser覆盖,并且根据您的eslint配置,该文件可能包含在eslint运行中。但是因为该文件未包含在tsconfig中,您会收到此错误。

如何修复?

根据您的情况,您可以选择其中之一:

  1. 您可以在中忽略它。eslintinignore。这就是@U4EA所做的
    "include": [
        ".eslintrc.js",
        // another includes
    ]
{
    "include": [
        ".eslintrc.js"
    ]
}

并仅将此文件用于eslint:

    parserOptions: {
        project: [
            './tsconfig.eslint.json',
            './packages/*/tsconfig.json',
        ],
    },
 类似资料:
  • 本节将详细介绍 tsconfig.json 文件中各配置项的含义,这将对我们搭建一个 TypeScript 工程项目很有帮助。 如果一个目录下存在一个 tsconfig.json 文件,那么它意味着这个目录是 TypeScript 项目的根目录,tsconfig.json 文件中指定了用来编译这个项目的根文件和编译选项。 1. 慕课解释 一个项目可以通过以下方式之一来编译: 不带任何输入文件的情况

  • 我见过类似的问题,但他们仍然没有意义,我的猿类大脑。 这里有一个例子。如果我在名为的头文件中声明了一个函数:并且在文件中声明了一个函数:。我在另一个文件(例如)中看到过这样的人,它只包含头,它只有声明(里面没有代码),而不包含带有代码的。但令我震惊的是,当他们调用中的函数时,它使用了中的代码并打印“hello”。怎么做?当我只包含了文件时,它如何打印在文件中添加的“hello”,而它只是一个声明,

  • 我正在编写一个小的Java库,其中包含我通常在大多数android应用程序中包含的相关代码。我决定将库导出为一个jar文件,然后将该文件放到我未来项目的libs文件夹中。 null 现在,当我在我的一个android应用程序中使用这个jar时,除了Doc部分之外,所有的一切都像预期的那样运行。当我悬停在我的库的类和方法上时,我看不到我编写的文档注释。 Q1:我是不是又少了一步? Q2:jar文件应

  • 问题内容: 如何使用Docker文件中的“ ADD”命令从Docker构建上下文之外包含文件? 从Docker文档中: 路径必须在构建上下文内;您不能添加../something/something,因为Docker构建的第一步是将上下文目录(和子目录)发送到docker守护程序。 我不想为了适应Docker而重组我的整个项目。我想将所有Docker文件保留在同一子目录中。 此外,似乎Docker

  • 问题内容: Cobra和Viper中的文档使我感到困惑。我做了,然后在项目目录中做了。我有一个名为,这里是命令中的init函数。 我的配置文件如下所示: 当我打电话给我的时候 当我打电话时看到了… 因此它正在使用配置文件,但是似乎没有人正在读取它。也许我误解了眼镜蛇和毒蛇的工作方式。有任何想法吗? 问题答案: 要结合和,首先使用Cobra定义标志: 与Viper绑定: 并通过Viper方法获取变量

  • 路径必须在生成的上下文中;您不能添加../something/something,因为docker构建的第一步是将上下文目录(和子目录)发送到docker守护进程。 我不想重组我的整个项目只是为了在这件事上容纳Docker。我想把我所有的Docker文件都保存在同一个子目录中。 此外,Docker似乎还不支持(可能永远也不支持)符号链接:Dockerfile ADD命令不跟随主机#1676上的符号