当我尝试在angular cli中创建一个组件时,它显示了这个错误。我怎样才能摆脱它呢?
错误:多个模块匹配。使用skip-import选项可以跳过将组件导入到最近的模块。
我使用的是angular cli版本:1.4.1
当我尝试在angular cli中创建一个组件时,它显示了这个错误。我怎样才能摆脱它呢?
错误:多个模块匹配。使用skip-import选项可以跳过将组件导入到最近的模块。
我使用的是angular cli版本:1.4.1
当前回答
这对我很有用
ng g component component-name --skip-import
其他回答
只是对Zisha的答案做了一个小小的更新。
在我的项目中,所有的模块都放在一个名为“modules”的文件夹中,所有的组件都放在“src/app”下的“components”文件夹中。
所以要在特定的路径下创建一个组件,我使用以下语法:
components_path/component_name——module modules_path/module_name
例子:
Ng g c组件/登录——模块模块/app
Angular CLI: 8.3.1
当你有多个模块时。Ts文件,您需要指定为哪个模块文件生成组件。
ng g c modulefolder/componentname --module=modulename.module
例如,我有一个共享模块文件夹,里面有共享的.module.ts和material.module.ts,就像这样
shared
> shared.module.ts
> material.module.ts
我想为shared.module.ts生成侧边栏组件 然后我将运行以下命令
ng g c shared/sidebar --module=shared.module
如果要导出组件,则运行以下命令
ng g c shared/sidebar --module=shared.module --export
这是由于生成试图将您的组件添加到模块,即添加这一行
import { MyComponent } from './Components/my-component/my-component.component';
但它找到了两个模块。
正如这里所述,他们修复了一种情况,只要在根src/app文件夹中只有一个模块,就可以了,所以只需将辅助模块移动到子文件夹中。
否则你必须使用——module
当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
当我试图在一个文件夹下创建一个新组件时,我正在得到下面的错误。
错误:多个模块匹配。使用skip-import选项可以跳过将组件导入到最近的模块。
我已经使用下面的命令和新组件成功创建在一个文件夹下。
ng g c folderName/my_newComponent ---module ../app