一、创建路由文件
1、分两种情况,一种是有module文件,没有routing文件。单独创建routing文件即可。以创建app模块路由为例:ng generate module app-routing --flat --module=app
注意:1、该命令需要在app目录下执行。2、--flat表示不生成文件夹,而是生成平级文件。--module==app表示将改文件注入到app.module.ts中的import中,不用手动引用。3、这个方法不好用,因为他的原理是生成常规module文件,在此基础上修改为routing文件。执行命令得到以下代码
文件处理:删除不用的部分代码,添加路由文件要用的代码。处理后:以下代码可以作为模板复制
import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; import { AppComponent } from './app.component'; const routes:Routes = [ {path:'',redirectTo:'index',pathMatch:'full'}, { path: 'index', component: AppComponent} ] @NgModule({ imports: [RouterModule.forRoot(routes)], exports: [ RouterModule ] }) export class AppRoutingModule { }
注意:app顶级路由的时候才用RouterModule.forRoot(),其他路由都要用RouterModule.forChild()。
添加路由出口:
2、创建路由的第二种方式(推荐)。在创建一个新的特性模块之前就要规划好是否需要路由,如果要,则在创建模块的时候直接把路由一起创建,这种方式的路由文件是标准的,不需要手动修改。例如app/pages 模块。ng generate module pages --routing --module=app 。
注意事项:如果你对某个模块使用了路由懒加载的方式加载,那就一定不要再在module.ts文件中import导入该子模块,不然你的懒加载就是没有意义的,加载本模块时就会import子模块。而且还会造成路由配置出现无效的问题!!!切记切记!