D3.js: TypeError no detectado: no se puede leer la propiedad 'document' de undefined

Estoy teniendo un problema realmente extraño con la initialization de d3.js. En el script d3.js, al principio, intenta get var d3_document = this.document; pero aparece el siguiente error:

 Uncaught TypeError: Cannot read property 'document' of undefined 

cuando se this.document , this.document devuelve indefinido.

Estoy usando yo webapp para generar el proyecto. Utiliza bower como gestor de packages y gulp para el process de compilation (que usa babel para las características de ES2015).

¡Lo curioso es que lo he probado con xampp y funciona bien!

¡Agradecería algunos consejos! ¡Thnx!

Suena como algo (Babel, muy probablemente) está insertando "use strict"; al comienzo del file de script D3 o combinándolo en otro file con "use strict" en la parte superior. Eso significa que this en el scope global (o en una function llamada sin un this específico) ya no es una reference al object global, no está undefined . (Mientras que en modo "loose" o en una function llamada sin this valor específico, this en el scope global es una reference al object global, que también se puede acceder a través de la variable global `window1.)

Debes eliminar tu d3.js de la list de scripts que está transformando Babel y simplemente includelo tal como está. Suponiendo que está utilizando el file normal d3.js , se ve así:

 !function() { var d3 = { version: "3.5.16" }; var d3_arraySlice = [].slice, d3_array = function(list) { return d3_arraySlice.call(list); }; var d3_document = this.document; // ... // ... // ...lots of stuff here... // ... // ... }(); 

Eso depende de que se ejecute en modo suelto.