node.js - 解析错误:无法读取文件'.../tsconfig.json'.eslint
问题描述
该错误Parsing error: Cannot read file '.../tsconfig.json'.eslint
显示在文件夹中的所有.ts
文件中,src
包括index.ts
.
我不知道如何设置配置。该问题仅显示一条红线并使文件变为红色。但是,一切都编译并运行良好。整个 Node 项目是使用 firebase CLI 创建的。
tsconfig.json
文件:
{
"compilerOptions": {
"module": "commonjs",
"noImplicitReturns": true,
"noUnusedLocals": true,
"outDir": "lib",
"sourceMap": true,
"strict": true,
"target": "es2017"
},
"compileOnSave": true,
"include": [
"src"
]
}
.eslintrc.js
文件:
module.exports = {
env: {
browser: true,
es6: true,
node: true,
},
extends: [
"plugin:import/errors",
"plugin:import/warnings",
"plugin:import/typescript",
],
parser: "@typescript-eslint/parser",
parserOptions: {
project: "tsconfig.json",
sourceType: "module",
},
plugins: [
"@typescript-eslint",
"import",
],
rules: {
"@typescript-eslint/adjacent-overload-signatures": "error",
"@typescript-eslint/no-empty-function": "error",
"@typescript-eslint/no-empty-interface": "warn",
"@typescript-eslint/no-floating-promises": "error",
"@typescript-eslint/no-namespace": "error",
"@typescript-eslint/no-unnecessary-type-assertion": "error",
"@typescript-eslint/prefer-for-of": "warn",
"@typescript-eslint/triple-slash-reference": "error",
"@typescript-eslint/unified-signatures": "warn",
"comma-dangle": "warn",
"constructor-super": "error",
eqeqeq: ["warn", "always"],
"import/no-deprecated": "warn",
"import/no-extraneous-dependencies": "error",
"import/no-unassigned-import": "warn",
"no-cond-assign": "error",
"no-duplicate-case": "error",
"no-duplicate-imports": "error",
"no-empty": [
"error",
{
allowEmptyCatch: true,
},
],
"no-invalid-this": "error",
"no-new-wrappers": "error",
"no-param-reassign": "error",
"no-redeclare": "error",
"no-sequences": "error",
"no-shadow": [
"error",
{
hoist: "all",
},
],
"no-throw-literal": "error",
"no-unsafe-finally": "error",
"no-unused-labels": "error",
"no-var": "warn",
"no-void": "error",
"prefer-const": "warn",
},
settings: {
jsdoc: {
tagNamePreference: {
returns: "return",
},
},
},
};
我曾尝试重新启动 VScode,清除缓存,但均无济于事。我猜我需要更改一些路径,但我不太擅长更改配置文件,所以我不想意外破坏整个项目。
解决方案
默认情况下,project
s (in parserOptions
) 相对于当前工作目录进行解析。如果您eslint
在与包含 的文件夹不同的工作目录中运行tsconfig.json
,@typescript-eslint/parser 将无法找到该文件。
要解决此问题,您可以设置tsconfigRootDir
为__dirname
,这将使解析器解析项目配置相对于.eslintrc.js
:
module.exports = {
// ...
parserOptions: {
project: "tsconfig.json",
tsconfigRootDir: __dirname,
sourceType: "module",
},
// ...
}
如果你遇到麻烦
/path/to/.eslintrc.js
0:0 error Parsing error: "parserOptions.project" has been set for @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
看到这个问题。
推荐阅读
- javascript - 路由节点/快递中的嵌套 API 请求
- batch-file - 在批处理脚本中使用 WMIC 重命名 PC 的问题
- javascript - 隐藏一个容器并在单击时显示另一个容器
- c# - DataGridView 控件无法拖动到我的表单
- android - 以毫秒为单位的 iOs 和 android 时间不一样?
- javascript - 无法在 d3.js 中的图形边缘附加标签
- android - android中的错误:错误膨胀类android.support.design.widget.NavigationView
- java - Apache Flink:执行环境和多个接收器
- matplotlib - 如何将 pyplot.contour(..) 转换为等效的 opencv?
- ios - 找不到 Dyldinfo commamd