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

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

我使用的是angular cli版本:1.4.1


当前回答

只是对Zisha的答案做了一个小小的更新。

在我的项目中,所有的模块都放在一个名为“modules”的文件夹中,所有的组件都放在“src/app”下的“components”文件夹中。

所以要在特定的路径下创建一个组件,我使用以下语法:

components_path/component_name——module modules_path/module_name

例子:

Ng g c组件/登录——模块模块/app

其他回答

只是对Zisha的答案做了一个小小的更新。

在我的项目中,所有的模块都放在一个名为“modules”的文件夹中,所有的组件都放在“src/app”下的“components”文件夹中。

所以要在特定的路径下创建一个组件,我使用以下语法:

components_path/component_name——module modules_path/module_name

例子:

Ng g c组件/登录——模块模块/app

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

否则先创建模块 模块名称

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

有两种方法可以解决这个问题。

1)跳过(在命令中使用——Skip -import)默认导入并创建组件,一旦组件创建完成,就可以手动将它导入到任何你想使用它的地方。

ng generate component my-component --skip-import

2)在你想导入模块的地方显式地提供模块名

ng generate  component  my-component --module=my-module.module

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

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

但它找到了两个模块。

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

否则你必须使用——module

试试ng g component header——module app 这是我的工作