当我尝试在angular cli中创建一个组件时,它显示了这个错误。我怎样才能摆脱它呢?

错误:多个模块匹配。使用skip-import选项可以跳过将组件导入到最近的模块。

我使用的是angular cli版本:1.4.1


当前回答

在我的例子中,ng似乎没有注册到我的环境路径中。我一直使用npm run命令来运行ng命令。注意,为了传递参数,你需要一个额外的参数——根据npm运行规范。

例子:

npm run ng g c components/scheduling **--** --module=app

Or:

npm run ng g c components/scheduling **--** --skip-import

其他回答

这是由于生成试图将您的组件添加到模块,即添加这一行

import { MyComponent } from './Components/my-component/my-component.component';

但它找到了两个模块。

正如这里所述,他们修复了一种情况,只要在根src/app文件夹中只有一个模块,就可以了,所以只需将辅助模块移动到子文件夹中。

否则你必须使用——module

试试这个:它对我很有效

生成组件componentName——module=app.module

当有多个模块时,需要指定模块名

 ng g c componentName --module=modulename.module 

如果您在特定的模块中创建,请进入该路径并运行 Ng g c组件名

否则先创建模块 模块名称

cd / app / modulename弧 进入modulename path并创建组件

当app文件夹下有多个模块时,使用以下命令生成组件将失败:

ng generate component New-Component-Name

原因是angular CLI检测到多个模块,不知道该在哪个模块中添加组件。因此,您需要显式地提到将添加哪个模块组件:

ng generate component New-Component-Name --module=ModuleName