在使用angular-cli创建模块时生成一个路由模块。

121
最近我开始在我的应用程序中实现懒加载。我想知道是否有任何方法可以在生成新的angular-cli应用程序模块时创建一个routing.module.ts,而不是手动创建它?
12个回答

216

我稍微搜索了一下,找到了一篇文章,其中对于不同种类的命令有很好的解释。

Angular CLI 终极指南

基本上,在创建模块时并没有单独的命令来创建 routing.module 文件。但是,可以在创建模块的同时创建它:

ng generate module [module-name] --routing

或者该命令的缩写版本:

ng g m [module-name] --routing

...将创建模块并添加映射/元数据链接。


1
嗨,Saiyaff Farouk,上述命令会同时创建module.ts和routing.module.ts。如果我已经有了一个module.ts,是否可以仅生成routing.module.ts? - Dhana
2
@Dhana 我不认为可以通过一个命令来实现“是否可能仅生成routing.module.ts,因为我已经有了一个module.ts”的情况。为了克服这个问题,您可以尝试编写自己的原理图。但是,让我进一步研究一下,看看您想要的是否已经以某种形式可用。 - Saiyaff Farouk
您可以使用 ng generate module my-routing --module my --flat 为现有的 my.module.ts 生成 my-routing.module.ts。然后按照 此答案 中所示,将 RouterModule 添加到新的路由模块中。 - Eric Eskildsen

28

具有路由的模块创建CMD:

ng g m [ModuleName] --routing

最好只创建路由文件,以防在生成模块时遗忘。 - Rohit

18

晚了但非常有用。

ng g m about --module app --route about 

上述命令将生成一个包含 about 组件的模块,并在应用程序模块中添加惰性加载路由以进行 about 路由的路由。


1
确实非常有帮助 - 尽管一开始我遇到了“在 /src/app/app.module.ts 中找不到路由声明”的问题,当我使用您的命令时。最终帮助我的是传递应用程序路由模块的完整文件名:--module app.routing.ts。从 https://dev59.com/uLroa4cB1Zd3GeqPbwRZ#69779475 得到了提示。 - w0l-g0r

16

我来晚了 :) 但是这就是我如何一次性生成一个名为'my-page'的moduleroutingcomponent并放在同一个目录下的方法。

src/app/目录中输入以下命令即可生成它:

ng g m my-page --routing=true && ng g c my-page --skip-tests=true -m=my-page
如果您希望生成测试,请勿使用跳过测试参数。

14

在同一个文件夹中同时创建模块和路由。

ng g m sub-folder/module-name --routing

创建唯一的模块。

ng g m  sub-folder/module-name

这里输入图片描述


12

要创建一个带有路由(延迟加载导入)、模块路由和在路由中加载的组件的模块,您可以按照以下语法编写代码

ng g m [myModule_name] --route [myRoute_path_name] --module [routing_module_name]

示例:

ng g m public --route public --module app 

enter image description here


6
  1. 生成组件: ng g c 组件名称ng g c 子文件夹/组件名称
  2. 生成模块或路由模块:使用命令 ng g m 子文件夹/模块名称 --routing

5

创建带有路由的模块的简单命令...

 ng g m [module_name] --routing

3

您可以使用

// module and routing
-> ng g m name --routing

// component with module and routing
-> ng g c name && ng g m name --routing
-> ng g m name --routing && ng g c name -m=name`

1
ng generate module ModulName --flat --module=app

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接