我用< code> - template typescript创建了一个新的React本地项目
我删除了模板
目录,它是样板文件的一部分。
然后我继续添加ESLint:
module.exports = {
parser: "@typescript-eslint/parser",
plugins: ["@typescript-eslint"],
extends: ["airbnb-typescript-prettier"]
};
但是,当我打开< code>babel.config.js时,我得到了这个错误
解析错误:“parserOptions.project”已为@typecript-eslint/parser设置。
文件与您的项目配置不匹配:< code >/Users/Dan/site/babel . config . js 。
该文件必须至少包含在提供的一个项目中。eslint
在“. eslintignore”中添加一行:
eslintrc.js代码
您可以创建一个单独的TypeScript配置文件(tsconfig.eslint.json
),用于eslint
配置。该文件扩展了tsconfig
配置,并且安装程序包含必须连接的文件的
键。
< code>.eslint.js:
// ...
parserOptions: {
// ...
project: "./tsconfig.eslint.json",
// ...
},
// ...
< code > ts config . eslint . JSON :
{
"extends": "./tsconfig.json",
"include": [
// ...
"babel.config.js"
]
}
或者,如果要忽略它,可以将其放入 .eslintignore
中。
。eslintignore
:
// ...
babel.config.js
出现问题的原因如下:
parserOptions.project
;parserOptions.project
,没有指定createDefaultProgram
(它将在未来的版本中被删除),并且您正在打印项目中未包含的文件(例如babel.config.js
,metro.config.js
)来自 TypeScript ESLint Parser 文档:
此选项允许您提供项目的tsconfig.json
的路径。如果您想使用需要类型信息的规则,则需要此设置。
(...)
请注意,如果指定了此设置,而< code > createDefaultProgram 未指定,则只能使用包含在由所提供的< code>tsconfig.json文件定义的项目中的lint文件。如果您的现有配置不包括您想要lint的所有文件,您可以创建一个单独的< code > ts config . eslint . JSON 。
要解决这个问题,请更新您的ESLint配置,以便仅对TypeScript文件使用TypeScript规则:
{
// ...
parser: '@typescript-eslint/parser',
plugins: ["@typescript-eslint"],
overrides: [
{
files: ['*.ts', '*.tsx'], // Your TypeScript files extension
// As mentioned in the comments, you should extend TypeScript plugins here,
// instead of extending them outside the `overrides`.
// If you don't want to extend any rules, you don't need an `extends` attribute.
extends: [
'plugin:@typescript-eslint/recommended',
'plugin:@typescript-eslint/recommended-requiring-type-checking',
],
parserOptions: {
project: ['./tsconfig.json'], // Specify it only for TypeScript files
},
},
],
// ...
}
您可以在官方文档中阅读有关覆盖
配置的更多信息:覆盖如何工作?
如果您不想lint错误中提到的文件(例如< code>babel.config.js),您可以忽略它,将其名称添加到< code >。eslintinignore 文件:
babel.config.js
无论如何,上面的步骤(关于重写TypeScript文件的配置)对于您的项目同时包含要删除的JavaScript和TypeScript文件非常重要。
您还可以为不同的情况创建其他替代,例如为测试文件创建不同的配置,因为它可以使用开发人员依赖项并在<code>节点
我能够设置ESLint与Encore(Symfony)一起工作。我的文件具有以下配置: 每当我观看这些文件时,我都会得到以下错误。 我尝试了以下几个环节的解决方案: https://github.com/vuejs/eslint-plugin-vue/issues/30 任何建议都将受到高度赞赏。谢谢你们
我将NestJs与Typescript/TSLint一起使用,将VueJs与Javascript/ESLint一起使用。我的VSCode扩展是ESLint、TSLint、Prettier和Vetur。在开发后端时,一切都很好,代码的格式也很好。在使用Vue开发时,我使用airbnb linter配置,但遇到了问题。 假设我有一个vue实例 保存文件后,格式化程序将代码更新为 我无法运行代码,因为l
我得到了错误:- IDE-WebStorm 20.1.1 项目结构:- .eslintrc。js:- baseeslint。js:- tsconfig.json:- 我完全不知道为什么会这样?我假设它会忽略根目录中的文件,尤其是我的tsconfg.json中指定的include? 任何帮助都将不胜感激。 编辑:- 我的解决办法,是不是应该帮助别人... 我将ignorePatterns配置添加到我
GNU解析器用于解析传递的gnu参数。 它现已弃用,并由DefaultParser取代。 例子 (Example) CLITester.java import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.CommandLineParser; import org.apache.commons.cli.GnuPa
Posix解析器用于解析Posix,就像传递的参数一样。 它现已弃用,并由DefaultParser取代。 例子 (Example) CLITester.java import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.CommandLineParser; import org.apache.commons.
问题内容: 我正在尝试在我的React项目上使用Airbnb的Javascript标准设置linting,它使用webpack。 根据评论更新了最新软件包。 我的webpack配置中也有一个预加载器设置 并进行了以下设置以运行脚本 我也有一个包含以下内容的文件 这给了我以下错误: 如果删除我认为可能有冲突的文件,则会出现以下错误: 随后出现npm错误,该错误导致任务退出。 任何帮助,将不胜感激!