使用 Prettier Eslint 时找不到模块“@typescript-eslint/parser”
Posted
技术标签:
【中文标题】使用 Prettier Eslint 时找不到模块“@typescript-eslint/parser”【英文标题】:Cannot find module '@typescript-eslint/parser' when using Prettier Eslint 【发布时间】:2021-06-01 07:15:25 【问题描述】:保存文件时,我在 VSCode 上的 Prettier Eslint 输出中收到以下错误。
Error: Cannot find module '@typescript-eslint/parser'
Require stack:
- c:\Users\vtnor\.vscode\extensions\rvest.vs-code-prettier-eslint-0.4.1\dist\extension.js
- c:\Program Files\Microsoft VS Code\resources\app\out\vs\loader.js
- c:\Program Files\Microsoft VS Code\resources\app\out\bootstrap-amd.js
- c:\Program Files\Microsoft VS Code\resources\app\out\bootstrap-fork.js
我的包json是:
[...]
"typescript": "^4.2.2",
"@typescript-eslint/eslint-plugin": "^4.16.1",
"@typescript-eslint/parser": "^4.16.1",
"eslint": "^7.21.0",
"prettier": "^2.2.1",
"prettier-eslint": "^12.0.0",
[...]
【问题讨论】:
【参考方案1】:前几天我确实遇到了这个问题,你需要去你的.eslintrc
并确保该模块位于配置的parser
属性下...最终应该看起来像这样:
//...
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/eslint-recommended",
"plugin:@typescript-eslint/recommended",
"prettier/@typescript-eslint",
"plugin:prettier/recommended"
],
"parser": "@typescript-eslint/parser",
"plugins": [
"@typescript-eslint"
],
//...
这应该涵盖有关 linter 中依赖项的基本知识...希望对您有所帮助
编辑
我检查了 git hub 的这个问题,可能和我的不一样,请检查这个链接https://github.com/prettier/prettier-vscode/issues/905
【讨论】:
我试图添加和删除这个解析器行。目前我确实有这条线,我把它移动了——以防万一——在扩展之后。仍然出现同样的错误。 这不是同一个错误,但我确实尝试重新启动我的电脑。没用。 不工作如果你找到任何解决方案请告诉我@VítorNorton【参考方案2】:问题可能是.eslintrc
没有找到必要的模块,因为它们位于错误的位置。 .eslintrc
需要在其旁边有文件夹 node_modules
。这可以通过将.eslintrc
放入项目文件夹并在其旁边创建package.json
来轻松实现。然后node_modules
也将在项目文件夹中创建,并且将找到必要的(和安装的)模块。
您的项目文件夹应类似于:
【讨论】:
【参考方案3】:我发现在我的案例中错误的原因是 ESLint 本身抛出了一个错误。我通过查看 VSCode 中的 ESLint 输出发现了这一点。修复是更新我的其他依赖项之一(eslint-plugin-import)。
【讨论】:
【参考方案4】:也有这个问题,我解决了禁用,然后重新加载并重新启用 VSCode 的 ESLint 扩展。
希望这会有所帮助;)
【讨论】:
【参考方案5】:我刚刚将metro.config.js
(就像我对babel.config.js
的其他修复所做的那样)添加到.eslintignore
。
【讨论】:
以上是关于使用 Prettier Eslint 时找不到模块“@typescript-eslint/parser”的主要内容,如果未能解决你的问题,请参考以下文章
无法加载在 '.eslintrc.json' 中声明的插件 'prettier':找不到模块 'eslint-plugin-prettier'
将 .eslintrc 重新定位到父级后,ESLint 找不到配置“prettier/@typescript-eslint”
gitlab ci 集成 eslint/prettier/tsc 做代码审查,并使用 eslint 输出作为显示代码质量