Nrwl NX教程遇模块导入报错 如何确认NX、Node、Angular版本兼容
版本兼容性确认方法
- 每个Nrwl NX的大版本都明确规定了支持的Node.js版本范围和Angular版本范围,你可以通过本地运行
nx report命令输出当前项目安装的NX、Node、Angular三者版本,对照NX发版说明里的兼容规则校验即可。常见的对应关系参考:NX 17.x 匹配Node.js 18.13.0 ~ 20.x、Angular 17.x;NX 16.x 匹配Node.js 16.13.0 ~ 18.x、Angular 16.x,大版本号保持对齐即可避免绝大多数兼容问题。 - 初始化NX项目时优先使用NX官方的创建命令,不要手动单独提前安装Angular CLI,NX在初始化过程中会自动安装匹配当前版本的Angular相关依赖,从根源避免版本错位问题。
- 若你有全局安装的Angular CLI,需要保证其大版本号和项目内使用的Angular大版本号一致,避免执行命令时触发全局和局部版本冲突。
当前报错补充排查提示
你遇到的TS2307导入报错大概率不是版本兼容问题,可按以下步骤排查:
- 检查项目根目录下
tsconfig.base.json的paths字段,确认是否存在@TESTNX02/data的路径映射,正常创建共享库后NX会自动注入类似如下配置:
"paths": { "@TESTNX02/data": ["libs/data/src/index.ts"] }
- 检查你创建的data共享库的入口文件
index.ts,确认是否已经导出了ToDo类型,未导出对应类型也会触发找不到模块的报错。 - 若以上配置都正确,重启IDE的TypeScript语言服务即可,缓存问题也会导致该类报错。
内容的提问来源于stack exchange,提问作者RT.
相关产品推荐
相关产品推荐

