Company logo
  • Jobs
  • Bootcamp
  • About Us
  • For professionals
    • Home
    • Jobs
    • Courses
    • Questions
    • Teachers
    • Bootcamp
  • For business
    • Home
    • Our process
    • Plans
    • Assessments
    • Payroll
    • Blog
    • Calculator

0

439
Views
rollup.JS and "'this' keyword is equivalent to 'undefined'

I'm trying to bundle Angular2 modules using Rollup.js. this is my rollup.config.vendor.js file:

import typescript from 'rollup-plugin-typescript2';
import resolve from 'rollup-plugin-node-resolve';
import commonjs from 'rollup-plugin-commonjs';

export default {
    entry: 'vendor.ts',
    dest: './Bundle/vendor.js',
    format: 'iife',
    moduleName: 'vendor',
    plugins: [
        typescript(),
        resolve({
            jsnext: true,
            main: true,
            browser: true
        }),
        commonjs({
            include: 'node_modules/rxjs/**',
        }),
    ]
}

It creates a bundled js, but in the process it keeps printing this kind of message:

The 'this' keyword is equivalent to 'undefined' at the top level of an ES module, and has been rewritten
https://github.com/rollup/rollup/wiki/Troubleshooting#this-is-undefined
node_modules\@angular\forms\@angular\forms.es5.js (1:25)
1: var __extends = (this && this.__extends) || function (d, b) {
                            ^
2:     for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
3:     function __() { this.constructor = d; }

What does it mean?
Am I doing something wrong or is it the way it's supposed to be?

8 months ago · Santiago Trujillo
2 answers
Answer question

0

You could safely ignore those warnings as explained in the documentation by adding the onwarn property to your rollup-config.js file:

onwarn: function(warning) {
    // Skip certain warnings

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

    // console.warn everything else
    console.warn( warning.message );
}

Quote:

It overrides the default onwarn method in order to skip annoying messages about the AOT compiler's use of the this keyword.

8 months ago · Santiago Trujillo Report

0

You could use the context option and set it to this: it avoids the rewrite of this to undefined (in fact this is rewritten to... this).

See Rollup documentation:

  • https://rollupjs.org/guide/en/#error-this-is-undefined
  • https://rollupjs.org/guide/en/#context
8 months ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post job Plans Our process Sales
Legal
Terms and conditions Privacy policy
© 2023 PeakU Inc. All Rights Reserved.