Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to use ES6 with PhantomJS

Is there a way to use ES6 and modules with PhantomJS?

I can transpile each file from ES6 to ES5 using Babel, but it's awkward to maintain parallel trees (one in ES6 and another in ES5) and write the imports to require the ES5 modules. I'm looking for a cleaner solution.

I can remove all import and export code, concatenate the modules together, transpile the result into a single file, then run in through PhantomJS, but I'd prefer to use imports and exports if possible.

I tried using Browserify with the babelify transform to transpile the ES6 dependency tree into a single ES5 file, but Browserify can't find PhantomJS-provided modules like webpage. I've tried ignoring those modules by putting in my package.json:

"browser": {   "webpage": false } 

but importing webpage returns an empty object instead of the PhantomJS module.

Is there a clean way to use ES6 modules with PhantomJS?

like image 880
exupero Avatar asked Apr 19 '15 21:04

exupero


1 Answers

According to PhantomJS dev's comment on GitHub, the full support of ES6 will come with PhantomJS 2.5.

like image 74
iplus26 Avatar answered Oct 11 '22 12:10

iplus26