我开始使用angular-cli,我已经阅读了很多关于我想做什么的答案…没有成功,所以我来到这里。

是否有一种方法可以为新模块创建组件?

例如:ng g module newModule

如何将该组件添加到newModule中??

因为angular-cli的默认行为是把所有新组件放到app.module中。我想选择我的组件将在哪里,这样我就可以创建单独的模块,而不会有我所有的组件在app.module。这是可能的使用angular-cli或我必须手动这样做?


当前回答

如果需要同时创建组件和模块,可以使用命令

ng g m components/my-control && ng g c $_

这将在同一个目录中创建一个模块和组件,默认情况下,组件将被添加到closed模块中

其他回答

我没有找到一个答案,说明如何使用cli在顶级模块文件夹中生成组件,并让组件自动添加模块的声明集合。

要创建模块,运行以下命令:

ng g module foo

在foo module文件夹中创建组件,并将其添加到foo.module中。Ts的声明集合运行如下:

ng g component foo/fooList --module=foo.module.ts

cli会像这样构建模块和组件:

——编辑angular cli的新版本。1.5.5不需要模块文件名,所以v1.5.5的命令应该是

ng g component foo/fooList --module=foo

一种常见的模式是创建带有路由、惰性加载模块和组件的特性。

路线:myapp.com/feature

app-routing.module.ts

{ path: 'feature', loadChildren: () => import('./my-feature/my-feature.module').then(m => m.MyFeatureModule) },

文件结构:

app   
└───my-feature
│   │   my-feature-routing.module.ts
│   │   my-feature.component.html
│   │   my-feature.component.css
│   │   my-feature.component.spec.ts
│   │   my-feature.component.ts
│   │   my-feature.module.ts

这一切都可以在cli中完成:

ng generate module my-feature --module app.module --route feature

或更短

ng g m my-feature --module app.module --route feature

或者如果你省略了名字,cli会提示你输入。在需要创建多个特性时非常有用

ng g m --module app.module --route feature

你可以使用ng generate Module <模块名>来生成一个Module。 然后使用此命令生成与该模块相关的组件,ng generate component <组件名称>——module=<模块名称>

转到模块级/我们也可以在根级输入下面的命令

ng g component "path to your component"/NEW_COMPONENT_NAME -m "MODULE_NAME"

例子:

ng g component common/signup/payment-processing/OnlinePayment -m pre-login.module

使用这个简单的命令:

ng g c users/userlist

users:您的模块名。

userlist:你的组件名。