web-dev-qa-db-fra.com

Comment utiliser ES6 avec PhantomJS

Existe-t-il un moyen d'utiliser ES6 et des modules avec PhantomJS?

Je peux transpiler chaque fichier d'ES6 à ES5 en utilisant Babel, mais il est gênant de maintenir des arborescences parallèles (une dans ES6 et une autre dans ES5) et d'écrire les importations pour exiger les modules ES5. Je cherche une solution plus propre.

Je peux supprimer tout le code d'importation et d'exportation, concaténer les modules ensemble, transpiler le résultat dans un seul fichier, puis exécuter via PhantomJS, mais je préférerais utiliser les importations et les exportations si possible.

J'ai essayé d'utiliser Browserify avec la transformation babelify pour transposer l'arborescence de dépendances ES6 dans un seul fichier ES5, mais Browserify ne trouve pas les modules fournis par PhantomJS comme webpage. J'ai essayé d'ignorer ces modules en mettant mon package.json:

"browser": {
  "webpage": false
}

mais l'importation de webpage renvoie un objet vide au lieu du module PhantomJS.

Existe-t-il un moyen propre d'utiliser les modules ES6 avec PhantomJS?

30
exupero

Browserify's --exclude l'option fait ce dont j'ai besoin.

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

Cela exclut webpage de l'arborescence des dépendances mais laisse l'importation en place.

2
exupero

Selon commentaire du développeur PhantomJS sur GitHub , le support complet d'ES6 viendra avec PhantomJS 2.5.

12
iplus26