Estoy tratando de agrupar módulos Angular2 usando Rollup.js. este es mi archivo rollup.config.vendor.js:
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/**', }), ] }
Crea un paquete js, pero en el proceso sigue imprimiendo este tipo de mensaje:
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; }
¿Qué significa?
¿Estoy haciendo algo mal o es como se supone que debe ser?
Puede ignorar con seguridad esas advertencias como se explica en la documentation
agregando la propiedad onwarn
a su archivo rollup-config.js
:
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 ); }
Cotizar:
Anula el método onwarn predeterminado para omitir mensajes molestos sobre el uso de esta palabra clave por parte del compilador AOT.
Puede usar la opción de context
y establecerla en this
: evita la reescritura de this
a undefined
(de hecho, this
se reescribe en... this
).
Consulte la documentación acumulativa: