Skip to content

Lazy loading error when trying to AoT output code to es6 #394

@MaklaCof

Description

@MaklaCof

I am trying to merge my application with latest aspnetcore-angular2-universal after a few months.
Is lazy loading module supported in latest release?
I get error at runtime in code:

path: 'team-support', canActivate: [AuthGuard], loadChildren: './modules/team-support/team-support.module#TeamSupportModule',

which is transpile to:

path: 'team-support', canActivate: [AuthGuard], loadChildren: () => new Promise(function (resolve) {  (require as any).ensure([], function (require: any) {    resolve(require('.\\modules\\team-support\\team-support.module')['TeamSupportModule']);  });}),

And the error happens here:

function getParentCtor(ctor) {
    var /** @type {?} */ parentProto = Object.getPrototypeOf(ctor.prototype);
    var /** @type {?} */ parentCtor = parentProto ? parentProto.constructor : null;
    // Note: We always use `Object` as the null value
    // to simplify checking later on.
    return parentCtor || Object;
}

With error:

vendor.js?version=5.0.0:6587 Uncaught TypeError: Cannot convert undefined or null to object
at Function.getPrototypeOf ()
at getParentCtor (vendor.js?version=5.0.0:6587)
at ReflectionCapabilities.annotations (vendor.js?version=5.0.0:6439)
at JitReflector.annotations (vendor.js?version=5.0.0:72024)
at DirectiveResolver.resolve (vendor.js?version=5.0.0:58942)
at CompileMetadataResolver.getNonNormalizedDirectiveMetadata (vendor.js?version=5.0.0:59777)
at CompileMetadataResolver._getEntryComponentMetadata (vendor.js?version=5.0.0:60501)
at vendor.js?version=5.0.0:60487
at Array.forEach ()
at CompileMetadataResolver._getEntryComponentsFromProvider (vendor.js?version=5.0.0:60486)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions