Angular 4执行ng generate component命令报错求助
解决Angular 4中
ng generate component报错“More than one module matches”的问题 嘿,这个问题我碰到过好多次——你添加路由后出现这个报错完全是情理之中!当你创建了路由模块(比如AppRoutingModule),项目里就同时存在AppModule和路由模块这两个NgModule了,Angular CLI在生成组件时没法自动判断该把组件导入到哪个模块里,所以才抛出这个“多个模块匹配”的错误。
下面给你几个实用的解决办法:
明确指定目标模块:生成组件时通过
--module参数告诉CLI要把组件导入到哪个模块,比如你想导入到主模块AppModule,就用这个命令:ng generate component your-component-name --module app这里的
app对应app.module.ts的模块名称,如果要导入到路由模块,就换成路由模块的名字(比如app-routing)。跳过自动导入:如果你暂时不想把组件自动导入任何模块,可以用
--skip-import选项,之后再手动在需要的模块里声明组件:ng generate component your-component-name --skip-import检查项目模块结构:偶尔也可能是不小心创建了重复的模块文件,或者路由模块的位置导致CLI识别混乱,你可以检查一下项目里的
.module.ts文件,确保没有多余的模块存在,同时确认路由模块已经正确在AppModule中导入。
说白了就是路由模块的加入让项目里的模块数量变多了,CLI需要你明确指示它该和哪个模块配合工作,按照上面的方法操作就能搞定这个问题啦!
内容的提问来源于stack exchange,提问作者murday1983
相关产品推荐
相关产品推荐

