带回调函数的Angular LazyLoad无法在AoT中编译

时间:2018-04-19 14:13:42

标签: angular angular-cli

我尝试使用ng build --prod --build-optimizer

编译测试SPA

我遇到了这个错误:

  “ɵ0”angular loadchild

中的装饰器不支持

表达式

我发现了https://github.com/angular/angular/issues/10789

建议改变形式:

import {MainModule} from './../../main/main.module';

const sidenavRoutes: Routes = [

  {
    path: '',
    component: SidenavComponent,
   canActivateChild: [AuthGuard],
    children: [
      { path: '', loadChildren: () =>MainModule}
    ]

  },

];

import {MainModule} from './../../main/main.module';

export function loadMainModule() {
  return require('es6-promise!./../../main/main.module')('MainModule');
}

const sidenavRoutes: Routes = [

  {
    path: '',
    component: SidenavComponent,
   canActivateChild: [AuthGuard],
    children: [
      { path: '', loadChildren: loadMainModule}
    ]

  },

];

但是我收到了这个错误:

  

mypath中 \ node_modules \装载机浇道\ lib中\ loadLoader.js:35                           抛出新错误(“Module'”+ loader.path +“'不是加载器(必须具有普通或俯仰功能)”);                           ^

     

错误:模块   '的 mypath中 \ node_modules \ ES6-承诺\ DIST \ ES6-promise.js'   不是装载机(必须具有正常或俯仰功能)

你有什么建议吗?

0 个答案:

没有答案