Angular添加ng-zorro-antd选sidemenu模板提示找不到项目怎么办
问题复现流程
按以下步骤创建ng-zorro项目时触发报错:
- 全局安装Angular CLI,执行命令:
npm install --location=global @angular/cli
- 新建Angular项目,执行命令:
ng new ng-zorro-demo
项目创建流程中已开启路由功能。
3. 进入项目目录,执行ng-zorro-antd添加命令:
cd ng-zorro-demo/ ng add ng-zorro-antd
报错信息
命令执行过程中的交互选择项如下:
- 启用图标动态加载:选择Yes
- 设置自定义主题文件:选择Yes
- 本地化语言编码:选择
en_US - 初始化项目模板:选择
sidemenu
选择完成后命令执行失败,抛出错误:
Could not find project in workspace: undefined
已知关联现象
- 直接在项目目录执行
ng serve可以正常启动项目,基础Angular工作区配置无异常 - 执行ng-zorro-antd添加命令时,如果选择
_blank模板,可以正常走完整个添加流程,仅选择sidemenu模板时触发上述报错
故障原因
该问题属于版本兼容问题:高版本Angular CLI创建的项目,默认移除了angular.json配置文件中的defaultProject字段。旧版本ng-zorro-antd的初始化脚本在生成sidemenu模板时,没有适配这一配置变更,无法自动读取当前工作区的项目名称,传入了undefined值最终触发报错。_blank模板的生成逻辑不依赖项目名读取,因此不会触发该问题。
解决方法
- 方法1:执行添加命令时显式指定项目名,跳过自动读取逻辑,直接执行以下命令即可:
ng add ng-zorro-antd --project=ng-zorro-demo
后续交互选择sidemenu模板即可正常完成安装。
- 方法2:如果方法1无效,检查Angular与ng-zorro-antd的版本对应关系,将ng-zorro-antd升级到和本地Angular大版本一致的版本后,再重新执行添加命令。
内容的提问来源于stack exchange,提问作者Roman
相关产品推荐
相关产品推荐

