5

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?

2 Answers 2

3

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',
  ...
]
Sign up to request clarification or add additional context in comments.

Comments

1

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.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.