Angular 14.2中TS2307模块找不到错误的解决方法咨询
修复Angular 14.2中TS2307模块找不到错误
工作区结构
├── projects ├── main\src\app └── util\packages\core\src
问题场景
在main\src\app\app.component.ts中使用相对路径导入模块:
import { MyUtil } from "../../../util/packages/core/src";
运行时触发错误:error TS2307: Cannot find module '../../../util/packages/core/src'
解决方案
1. 配置TypeScript路径别名(推荐)
用路径别名替代易出错的相对路径,同时让Angular工作区正确识别util模块:
- 打开根目录的
tsconfig.json(或projects/main/tsconfig.app.json),在compilerOptions中添加paths配置:
{ "compilerOptions": { // 保留原有配置 "paths": { "@util/core": ["../util/packages/core/src"] } } }
- 修改导入语句为别名形式:
import { MyUtil } from "@util/core";
- 重启Angular CLI服务,让配置生效。
2. 确保util模块的TypeScript配置正确
如果util是独立子包,需保证它能生成正确的类型声明文件:
- 打开
util/packages/core/tsconfig.json,确保compilerOptions中包含:
{ "compilerOptions": { "declaration": true, // 生成.d.ts类型文件 "emitDeclarationOnly": true, // 可选,仅生成类型文件 "rootDir": "./src" } }
- 在
util/packages/core/package.json中指定入口和类型文件路径:
{ "main": "./src/index.ts", "types": "./src/index.ts" }
3. 修正相对路径(临时方案)
若不想配置别名,需检查相对路径是否正确:
从main/src/app/app.component.ts到util/packages/core/src的正确相对路径应为../../../../util/packages/core/src(需从app目录向上回溯3级到projects目录,再进入util路径),修改导入语句:
import { MyUtil } from "../../../../util/packages/core/src";
内容的提问来源于stack exchange,提问作者albertkao9
相关产品推荐
相关产品推荐

