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

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

我使用的是angular cli版本:1.4.1


当前回答

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

其他回答

当app或lib有多个嵌套模块时

myApp
  > src
    > app
      app.module.ts
      > routes
        > login
          > auth
          login.module.ts

角CLI

ng g component routes/login/auth/my-auth --module=routes/login/login.module.ts 

NRWL NX Angular CLI

ng g component routes/login/auth/my-auth --project=myApp --module=routes/login/login.module.ts

结果

myApp
  > src
    > app
      app.module.ts
      > routes
        > login
          > auth
            > my-auth
              my-auth.component.ts etc...
          login.module.ts

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

当我试图在一个文件夹下创建一个新组件时,我正在得到下面的错误。

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

我已经使用下面的命令和新组件成功创建在一个文件夹下。

 ng g c folderName/my_newComponent ---module ../app

我的项目是使用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

再补充一点信息给像我这样只有一个程序的人。

我用主app.module.ts设置了我的应用程序,我用路由模块在主应用程序下的自己的文件夹中进行路由。我浏览了一下,做了一些“清理”,因为我还有一些其他的东西需要更好地组织。我做的一件事是将routing.module.ts移动到根文件夹;因为它是文件夹中唯一的文件,我认为它不需要它自己的文件夹。

这一开始工作得很好,但下一次我试图生成一个新组件时(一段时间后,通过WebStorm IDE),它失败了。读完这篇文章后,我试着把路由模块放回一个单独的文件夹,它又工作了。

所以要提醒其他人,不要将路由模块移动到根文件夹中!我确信还有其他方法来处理这个问题,但我很高兴它现在在它自己的文件夹中,并使用IDE生成器,就像我以前一样。