Angular 考虑引用一个导出函数角CLI替换函数或lambda
我刚刚将我的项目更新为Angular CLI,我正在: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": "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您需要有一个rootforRoot
路由模块,如果您使用的是嵌套路由模块,则它们必须是forChild
。我甚至不知道你的更改密码是什么样子。模块看起来像我刚刚在更新2中用它更新了我的帖子。谢谢你的回复。但在我这么做之后,我又犯了一个错误。升级到CLI是一件非常痛苦的事情。