phantomjs ecmascript-6

Cómo usar ES6 con PhantomJS



ecmascript-6 (2)

De acuerdo con el comentario del desarrollador de PhantomJS sobre GitHub , el soporte completo de ES6 vendrá con PhantomJS 2.5.

¿Hay alguna forma de usar ES6 y módulos con PhantomJS?

Puedo transferir cada archivo de ES6 a ES5 usando Babel, pero es incómodo mantener árboles paralelos (uno en ES6 y otro en ES5) y escribir las importaciones para requerir los módulos de ES5. Estoy buscando una solución más limpia.

Puedo eliminar todo el código de importación y exportación, concatenar los módulos juntos, transpilar el resultado en un solo archivo, luego ejecutarlo a través de PhantomJS, pero prefiero usar importaciones y exportaciones si es posible.

Intenté usar Browserify con la transformación babelify para recopilar el árbol de dependencia ES6 en un solo archivo ES5, pero Browserify no puede encontrar los módulos provistos por PhantomJS como la webpage . He intentado ignorar esos módulos poniendo en mi package.json :

"browser": { "webpage": false }

pero la importación de una webpage devuelve un objeto vacío en lugar del módulo PhantomJS.

¿Existe una forma limpia de utilizar los módulos ES6 con PhantomJS?


La opción --exclude de Browserify hace lo que necesito.

browserify --exclude webpage -t babelify script.js --outfile compiled.js phantomjs compiled.js

Eso excluye la webpage del árbol de dependencias pero deja la importación en su lugar.