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

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

我使用的是angular cli版本:1.4.1


当前回答

试试这个:它对我很有效

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

其他回答

Angular CLI: 6.0.8 节点:10.4.0 操作系统:linux x64 角:6.0.4

如果有一个特性模块(例如manager.module.ts)在。"/manager"子文件夹),而路由模块被外部化到单独的NgModule中(例如manager-routing.module.ts),错误消息如下:

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

不会出现,并且组件已正确生成并添加到manager.module.ts模块。

但是要注意命名惯例!路由模块的名称必须以“-routing”结束!

如果给路由模块一个这样的名字,例如manager-router.module。ts时,CLI会报错,并希望你提供——module选项来自动添加组件导入:

ng generate component some-name --module=manager.module.ts

or

ng generate component some-name --skip-import

如果您希望手动添加组件的导入

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

例子:

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

Or:

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

Angular CLI: 8.3.4 节点:10.16.3 Angualr: 4.2.5

我使用“dotnet new angular”命令来生成项目,它已经在app文件夹中生成了3个不同的模块(尽管一个简单的ng new project-name测试只生成了一个模块。

查看项目中的模块并决定需要哪个模块-然后指定名称

ng g c componentName --module=[name-of-your-module]

你可以在这里阅读更多关于模块的信息: https://angular.io/guide/architecture-modules

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

ng generate component New-Component-Name

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

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

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

否则先创建模块 模块名称

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