2

I have angular 2 application that works beautifully when JIT compiled. Now for Prod, I am using AOT compilation and rollup create a single bundle file. When I run the application, I get this error in the console of Chrome dev tools


Error: Uncaught (in promise): TypeError: Illegal constructor
TypeError: Illegal constructor
at new e (http://localhost:61102/app/build.js:14:6950)
at e.createInternal (http://localhost:61102/app/build.js:47:22406)
at e.t.createHostView (http://localhost:61102/app/build.js:7:10163)
at t.create (http://localhost:61102/app/build.js:6:6211)
at e.bootstrap (http://localhost:61102/app/build.js:6:13675)
at http://localhost:61102/app/build.js:6:11927
at Array.forEach (native)
at e._moduleDoBootstrap (http://localhost:61102/app/build.js:6:11898)
at http://localhost:61102/app/build.js:6:11228
at ZoneDelegate.invoke (http://localhost:61102/js/zone.js:365:26)
at Object.onInvoke (http://localhost:61102/app/build.js:5:13894)
at ZoneDelegate.invoke (http://localhost:61102/js/zone.js:364:32)
at Zone.run (http://localhost:61102/js/zone.js:125:43)
at http://localhost:61102/js/zone.js:760:57
at ZoneDelegate.invokeTask (http://localhost:61102/js/zone.js:398:31)
at Object.onInvokeTask (http://localhost:61102/app/build.js:5:13794) [angular]
____________________Elapsed_3_ms__At__Thu_Mar_16_2017_16_09_17_GMT_0530__India_Standard_Time_@[native code]
at Object.onScheduleTask (http://localhost:61102/js/zone.js:274:29) [angular]
at resolvePromise (http://localhost:61102/js/zone.js:707:21) [angular]
at Object.onInvokeTask (http://localhost:61102/app/build.js:5:13794) [angular]
____________________Elapsed_9_ms__At__Thu_Mar_16_2017_16_09_17_GMT_0530__India_Standard_Time_@[native code]
at Object.onScheduleTask (http://localhost:61102/js/zone.js:274:29) [angular]
at resolvePromise (http://localhost:61102/js/zone.js:707:21) [angular]
at http://localhost:61102/js/zone.js:760:17 [angular]
at Object.onInvokeTask (http://localhost:61102/app/build.js:5:13794) [angular]
____________________Elapsed_17_ms__At__Thu_Mar_16_2017_16_09_17_GMT_0530__India_Standard_Time_@[native code]
at Object.onScheduleTask (http://localhost:61102/js/zone.js:274:29) [angular]
at new t (http://localhost:61102/app/build.js:4:30262) [angular]
at e.createInternal (http://localhost:61102/app/build.js:49:30624) [angular]
at e.create (http://localhost:61102/app/build.js:6:16079) [angular]
at t.create (http://localhost:61102/app/build.js:6:15833) [angular]
t.handleError @ build.js:4
next @ build.js:6
e.object.r @ build.js:5
e.__tryOrUnsub @ build.js:5
e.next @ build.js:5
e._next @ build.js:5
e.next @ build.js:5
e.next @ build.js:5
e.emit @ build.js:5
t.triggerError @ build.js:5
onHandleError @ build.js:5
ZoneDelegate.handleError @ zone.js:369
Zone.runGuarded @ zone.js:141
_loop_1 @ zone.js:604

drainMicroTaskQueue @ zone.js:613

TSconfig-aot.json

{
  "compilerOptions": {
    "target": "es5",
    "module": "es2015",
    "moduleResolution": "node",
    "sourceMap": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "lib": [ "es2015", "dom" ],
    "suppressImplicitAnyIndexErrors": true,
    "noImplicitAny": false,
    "allowSyntheticDefaultImports": true
  },
  "exclude": [
    "node_modules",
    "wwwroot"
  ],
  "files": [
    "Scripts/app/app.module.ts",
    "Scripts/app/main.ts"
  ],
  "angularCompilerOptions": {
    "genDir": "aot",
    "skipMetadataEmit": true
  }
}

Rollup.config.js

//import rollup      from 'rollup';
import nodeResolve from 'rollup-plugin-node-resolve';
import commonjs    from 'rollup-plugin-commonjs';
import uglify      from 'rollup-plugin-uglify';

//import moment      from 'moment';

export default {
entry: 'Scripts/app/main.js',
    dest: 'wwwroot/app/build.js', // output a single application bundle
    sourceMap: true,
    sourceMapFile: 'wwwroot/js/build.js.map',
format: 'iife',
onwarn: function(warning) {

    // Skip certain warnings

    // should intercept ... but doesn't in some rollup versions
    if ( warning.code === 'THIS_IS_UNDEFINED' ) { return; }

    // intercepts in some rollup versions
    //if ( warning.indexOf("The 'this' keyword is equivalent to 'undefined'") > -1 ) { return; }

    // console.warn everything else
    console.warn( warning.message );
},
plugins: [
    nodeResolve({jsnext: true, module: true}),
    commonjs({
        include: ['node_modules/rxjs/**',
            'node_modules/moment/**',
            'node_modules/ng2-bootstrap/**']
    }),
    uglify()
]
}

I have generated the source map. How can I figure out what the issue is?

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.