当我尝试在angular cli中创建一个组件时,它显示了这个错误。我怎样才能摆脱它呢?
错误:多个模块匹配。使用skip-import选项可以跳过将组件导入到最近的模块。
我使用的是angular cli版本:1.4.1
当我尝试在angular cli中创建一个组件时,它显示了这个错误。我怎样才能摆脱它呢?
错误:多个模块匹配。使用skip-import选项可以跳过将组件导入到最近的模块。
我使用的是angular cli版本:1.4.1
当前回答
再补充一点信息给像我这样只有一个程序的人。
我用主app.module.ts设置了我的应用程序,我用路由模块在主应用程序下的自己的文件夹中进行路由。我浏览了一下,做了一些“清理”,因为我还有一些其他的东西需要更好地组织。我做的一件事是将routing.module.ts移动到根文件夹;因为它是文件夹中唯一的文件,我认为它不需要它自己的文件夹。
这一开始工作得很好,但下一次我试图生成一个新组件时(一段时间后,通过WebStorm IDE),它失败了。读完这篇文章后,我试着把路由模块放回一个单独的文件夹,它又工作了。
所以要提醒其他人,不要将路由模块移动到根文件夹中!我确信还有其他方法来处理这个问题,但我很高兴它现在在它自己的文件夹中,并使用IDE生成器,就像我以前一样。
其他回答
你必须在.module扩展名之前只提到模块的起始名
例如,如果模块名是user-account.module.ts 然后在命令中提供喜欢
ng g c newComponent --module=user-account
再补充一点信息给像我这样只有一个程序的人。
我用主app.module.ts设置了我的应用程序,我用路由模块在主应用程序下的自己的文件夹中进行路由。我浏览了一下,做了一些“清理”,因为我还有一些其他的东西需要更好地组织。我做的一件事是将routing.module.ts移动到根文件夹;因为它是文件夹中唯一的文件,我认为它不需要它自己的文件夹。
这一开始工作得很好,但下一次我试图生成一个新组件时(一段时间后,通过WebStorm IDE),它失败了。读完这篇文章后,我试着把路由模块放回一个单独的文件夹,它又工作了。
所以要提醒其他人,不要将路由模块移动到根文件夹中!我确信还有其他方法来处理这个问题,但我很高兴它现在在它自己的文件夹中,并使用IDE生成器,就像我以前一样。
我的项目是使用Visual Studio Community 2017创建的,它创建了3个独立的模块:app.browser。Module, app.server.module和app.shared.module
为了创建我的组件,我检查了上面的答案,发现我的模块是app.share .module。
所以,我跑:
ng g c componentName --module=app.shared.module
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
这是由于生成试图将您的组件添加到模块,即添加这一行
import { MyComponent } from './Components/my-component/my-component.component';
但它找到了两个模块。
正如这里所述,他们修复了一种情况,只要在根src/app文件夹中只有一个模块,就可以了,所以只需将辅助模块移动到子文件夹中。
否则你必须使用——module