Sir*_*haa 2 node.js phpstorm eslint prettier nestjs
我创建了一个新的NestJS 项目,它是一个非常流行的 NodeJS 框架。但是我的 IDE(PhpStorm 2020.2-Beta)上有这个错误(见标题)并且 ESLint 根本不起作用。
我使用过 NestJS CLI:
nest new nestjs-micro
Run Code Online (Sandbox Code Playgroud)
我似乎不是唯一遇到此问题的人,因此最好能找到此问题的原因并一劳永逸地解决它。
我已经有一个悬而未决的问题,但我还没有答案,这真的很成问题。
如果有人知道如何解决问题并保持与 PhpStorm 的 ESLint / Prettier 集成,谢谢。
再现
nest new nestjs-micro
Run Code Online (Sandbox Code Playgroud)
// tsconfig.json
{
"compilerOptions": {
"module": "commonjs",
"declaration": true,
"removeComments": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"allowSyntheticDefaultImports": true,
"target": "es2017",
"sourceMap": true,
"outDir": "./dist",
"baseUrl": "./",
"incremental": true
}
}
Run Code Online (Sandbox Code Playgroud)
版本
Typescript: 3.7.4
Node: 14.3.0
ESLint: 7.1.0
@typescript-eslint/parser: 3.0.2
Yarn: 1.22.4
Run Code Online (Sandbox Code Playgroud)
我想到了。
当 Typescript 没有要编译的文件时会发生错误。
例如,最简单的解决方案是创建一个tsconfig.build.json文件并在其中指定以下参数:
{
"extends": "./tsconfig.json",
"exclude": ["node_modules", "test", "dist", "dist/**/*spec.ts"],
"include": ["src/**/*", ".eslintrc.js"]
}
Run Code Online (Sandbox Code Playgroud)
上面的例子适用于 NestJS,但也适用于其他项目。
最令人惊讶的是,它只是出现在 PHPStorm 上的一个错误,构建,它工作正常。
小智 5
FWIW 这个错误对我有用的是添加ignorePatterns: ['.eslintrc.js'],到.eslintrc.js文件中。这一行告诉eslint忽略该.eslintrc.js文件(因为它不包含在tsconfig声明的项目中rootDir)。
| 归档时间: |
|
| 查看次数: |
6117 次 |
| 最近记录: |