在monorepo中配置eslint-import-resolver-typescript路径映射报错如何解决?
解决方案
核心原因是eslint-import-resolver-typescript默认仅读取根目录的tsconfig.json,你配置的路径映射放在内层package目录的tsconfig中,没有被eslint正确识别。按以下步骤调整即可:
步骤1:调整.eslintrc的resolver配置
修改根目录下的.eslintrc,给import/resolver的typescript配置增加project字段,指定需要识别的tsconfig路径:
{ "parser": "@typescript-eslint/parser", "plugins": [ "@typescript-eslint", "import" ], "extends": [ "eslint:recommended", "plugin:import/recommended", "plugin:import/typescript" ], "settings": { "import/resolver": { "typescript": { // 配置所有需要识别的tsconfig路径,支持glob匹配 "project": [ "tsconfig.json", "package/tsconfig.json" ] } } } }
如果后续新增其他子包,只需要在project数组里加上对应子包的tsconfig路径即可。
步骤2:确认依赖安装正确
确保所有相关依赖都已安装在根目录的devDependencies中:
npm i -D eslint-import-resolver-typescript eslint-import-resolver-node @typescript-eslint/parser @typescript-eslint/eslint-plugin
不要把这些依赖装到子包目录下,eslint默认会从运行目录(通常是项目根目录)加载依赖。
步骤3:重启eslint服务
修改配置后如果是在编辑器中使用eslint,需要重启编辑器的eslint服务或者直接重启编辑器,确保新配置生效。
内容的提问来源于stack exchange,提问作者HaveSpacesuit
相关产品推荐
相关产品推荐

