I am having an issue when running Karma and PhantomJS. When I try to run I get this in the console:
22 03 2016 14:58:47.865:WARN [karma]: No captured browser,
open http://localhost:9876/
22 03 2016 14:58:47.875:INFO [karma]: Karma v0.13.22 server
started at http://localhost:9876/
22 03 2016 14:58:47.879:INFO [launcher]: Starting browser PhantomJS
22 03 2016 14:58:48.336:INFO [PhantomJS 2.1.1 (Mac OS X 0.0.0)]:
Connected on socket /#lBe2M4kLKnN8N5x0AAAA with id 55603904
PhantomJS 2.1.1 (Mac OS X 0.0.0) ERROR
SyntaxError: Use of reserved word 'export'
I have updated all of my npm modules for karma, webpack, karma-phantomjs, etc., but still don't understand why this is happening. An example of a file that it is not liking:
export default function () {
// code here
}
Has anyone else run into this trouble and found out how to solve it?
You should use Webpack as preprocessor: https://github.com/webpack/karma-webpack
I personally use this one, because it's faster: https://github.com/aaronjensen/karma-webpack
And you might need to add some polyfills to your karma configuration:
files: [
'./node_modules/babel-polyfill/dist/polyfill.js',
'./node_modules/phantomjs-polyfill/bind-polyfill.js',
...
]
You are trying to run ES6 code with PhantomJS but PhantomJS does not seem to support them yet: https://kangax.github.io/compat-table/es6/#phantom
There are some workarounds mentioned e.g.: How to use ES6 with PhantomJS
You should also have a look at https://www.npmjs.com/package/karma-es6-shim and try that with your code.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With