Angular 考虑引用一个导出函数角CLI替换函数或lambda

Angular 考虑引用一个导出函数角CLI替换函数或lambda,angular,angular-cli,Angular,Angular Cli,我刚刚将我的项目更新为Angular CLI,我正在: "@angular/cli": "1.0.0", "@angular/compiler-cli": "4.0.1", 我得到一个错误,说: Cannot find 'default' in './changePassword/changePassword.module' 考虑将函数或lambda替换为对 导出函数 从该.ts文件: userManagement/userManagement.routing.ts 在我的模块中:

我刚刚将我的项目更新为Angular CLI,我正在:

"@angular/cli": "1.0.0",
    "@angular/compiler-cli": "4.0.1",
我得到一个错误,说:

 Cannot find 'default' in './changePassword/changePassword.module'
考虑将函数或lambda替换为对 导出函数

从该
.ts
文件:

userManagement/userManagement.routing.ts

在我的模块中:

@NgModule({

    imports: [
        SmartadminModule,
        routing,
    ],
    providers: [],
})
export class UserManagementModule {

}
--------------------------------更新1-----------------------------

必须将其更改为:

export const routes: Routes = [
    {
        path: '', redirectTo: 'unlockUserID', pathMatch: 'full'
    },
    {
        path: 'unlockUserID',
        loadChildren: './unlockUserID/unlockUserID.module',
        data: {pageTitle: 'unlockUserID'}
    },
    {
        path: 'changePassword',
        loadChildren: './changePassword/changePassword.module',
        data: {pageTitle: 'changePassword'}
    },
export const routing: ModuleWithProviders = RouterModule.forRoot(routes, {useHash: true});
现在我得到以下错误:

Error: RouterModule.forRoot() called twice. Lazy loaded modules should use RouterModule.forChild() instead.
---------------------------更新2---------------------------

我把它改成了

导出常量路由:ModuleWithProviders=RouterModule.forChild(路由)

现在我得到一个错误,说:

 Cannot find 'default' in './changePassword/changePassword.module'
如果我单击changePassword选项卡,其他链接也是如此。

根据

将箭头函数传递给
NgModule
时,它不适用于AoT


因此,您不应该在
路由中定义箭头函数,对于通过路由器延迟加载的模块,不推荐通过字符串导入

ng更新将自动处理此问题。新语法利用了生态系统范围内对导入的支持,而不是我们的自定义重写

您的loadChildren路由配置应该从字符串更改为

loadChildren: './admin/admin.module#AdminModule' 
导入语句,例如

loadChildren: () => import('./admin/admin.module').then(m => m.AdminModule)

所以我必须完全改变这个项目中的布线方式。通过查看上面的内容,您是否有任何建议可以减轻痛苦。@Drew1208我从未使用过像这样的延迟加载,所以我不能推荐任何东西,但这似乎是问题所在:/如果您想从某个地方读取路由,您可以创建一个配置文件并将它们添加到那里。@Drew1208您使用
forRoot
两次吗?有子路由模块吗?@Drew1208您需要有一个root
forRoot
路由模块,如果您使用的是嵌套路由模块,则它们必须是
forChild
。我甚至不知道你的
更改密码是什么样子。模块
看起来像我刚刚在更新2中用它更新了我的帖子。谢谢你的回复。但在我这么做之后,我又犯了一个错误。升级到CLI是一件非常痛苦的事情。