使用Angular CLI创建组件报错:多模块匹配问题求助
解决Angular CLI创建组件时“多个匹配模块”的报错
这个错误的核心原因是你的Angular项目中存在多个NgModule(比如根模块AppModule之外还有其他特性模块),CLI无法自动判定应该将新组件导入到哪个模块中,因此抛出提示。针对Angular CLI 11.2.19版本,有两种直接的解决方式:
方式一:明确指定目标模块
使用--module参数告诉CLI要将组件导入的目标模块,支持三种写法:
- 用模块类名的简写(比如根模块
AppModule可以简写为app):ng generate component MY-COMPONENT --module app - 用特性模块的目录名(比如模块文件在
src/app/user/user.module.ts,可简写为user):ng generate component MY-COMPONENT --module user - 直接指定模块文件的完整路径:
ng generate component MY-COMPONENT --module ./src/app/user/user.module.ts
方式二:跳过自动导入
如果不需要CLI自动将组件添加到任何模块的declarations数组中,使用--skip-import参数:
ng generate component MY-COMPONENT --skip-import
执行后你可以手动将组件导入到目标模块的declarations和exports(如果需要对外暴露)数组中。
提示:如果不确定选择哪个模块,建议先梳理项目的模块结构,业务组件通常对应到特定的特性模块,根模块
AppModule尽量只存放全局通用的组件。
内容的提问来源于stack exchange,提问作者Flaviobr26
相关产品推荐
相关产品推荐

