Angular执行ng g component时报错Cannot read property 'match' of undefined
报错根因
该Cannot read property 'match' of undefined报错和Angular CLI版本不匹配的警告无关,是Nrwl Nx管理的Angular monorepo项目中,路径解析逻辑不识别输入的路径格式导致的。
可行解决方法
- 替换路径分隔符:Windows系统下不要用反斜杠
\作为路径分隔符,统一改用正斜杠/,修改后的命令如下:
ng g component libs/layout/src/lib/features/footer
- 指定项目参数省略全路径:直接指定组件归属的库项目名,不用手动写完整路径,schematics会自动匹配对应库的源码目录,命令示例如下(示例中库项目名为layout,可替换为实际项目名):
ng g component features/footer --project=layout
- 检查执行命令的工作目录:必须在Nx工作区根目录(存在
angular.json或workspace.json配置文件的目录)下执行生成命令,不要进入libs、src等子目录执行,避免路径解析错位。
内容的提问来源于stack exchange,提问作者Stackoverfall
相关产品推荐
相关产品推荐

