问题
后端express 项目里配置的路径别名,eslint 不认识,报错。
Unable to resolve path to module '@/app/Prisma'.eslintimport/no-unresolved
但是在webstrom 里正常使用。
分析
eslint 不认识 ,猜测是配置的问题。
网上也有说配置下.eslintrc.js
文件的,试了试都不对。仔细分析应该不是这个问题,不然webstrom打开为什么没有错。
问题解决
最后怀疑到eslint vscode 插件上,看了下文档,其实文档写的很清楚。
eslint vscode插件有一个默认工作区配置的属性eslint.workingDirectories
,这个属性可选择:
[{“mode”:“location”}]
: (@since 2.0.0):指示ESLint使用工作区文件夹位置或文件位置(如果未打开工作区文件夹)作为工作目录。这是默认的,并且与旧版本的ESLint扩展(1.9.x版本)中使用的策略相同。[{“mode”:“auto”}]
: (@since 2.0.0):指示ESLint根据package.json、.eslintignore和.eslintrc* 文件的位置推断工作目录。这可能在许多情况下有效,但也可能导致意想不到的结果。string[]
: 要使用的工作目录数组。
请考虑以下目录布局:
root/
client/
.eslintrc.json
client.js
server/
.eslintignore
.eslintrc.json
server.js
然后使用设置:
"eslint.workingDirectories": [ "./client", "./server" ]
[{ "pattern": glob pattern }]
: @since 2.0.0):允许指定检测工作目录的模式。这基本上是列出每个目录的捷径。如果你有一个mono仓库,你所有的项目都在一个packages文件夹下,你可以使用{“pattern”:“./ packages/*/”}使所有这些文件夹成为工作目录。
我这边没有修改全部配置在vscode setting里设置成了mode auto
参考:
https://gitcode.net/mirrors/microsoft/vscode-eslint?utm_source=csdn_github_accelerator