2016-05-27 14 views
4

Ich möchte meine Javascript ES6-Anwendung mit Gulp, Karma und PhantomJS bauen, aber Phantom will nicht über jede ES6 Ausdruck zu hören. Ich verwende PhantomJS v2.1, das ES6 unterstützen soll. habe ich auch ohne browserify und babelify versucht aber keinen erfolg mehr.Build ES6-Anwendung mit Gulp + Karma + PhantomJS

Irgendeine Idee, was fehlt mir hier?

Hier ist mein Testcode:

index.js:

"use strict"; 

const a = 5; 

gulpfile.js:

'use strict'; 

var gulp = require('gulp'); 
var karma = require('gulp-karma'); 

function testClientCode() { 
    return gulp.src('index.js') 
     .pipe(karma({ 
      configFile: 'karma.conf.js', 
      action: 'run' 
     })) 
     .on('error', function(err) { 
      throw err; 
     }); 
} 

gulp.task('test-client', testClientCode); 

karma.conf.js:

module.exports = function(config) { 
    config.set({ 
    basePath: '', 
    frameworks: ['browserify'], 
    reporters: ['spec'], 
    port: 9876, 
    urlRoot: '/', 
    colors: true, 
    logLevel: config.LOG_INFO, 
    autoWatch: false, 
    browsers: ['PhantomJS'], 
    singleRun: false, 

    browserify: { 
     debug: true, 
     transform: [ 'babelify' ] 
    } 

    }); 
}; 

Und hier ist, was ich habe beim Start Schluck:

[12:45:57] Using gulpfile /media/data/dev/testes6/gulpfile.js 
[12:45:57] Starting 'test-client'... 
[12:45:58] Starting Karma server... 
27 05 2016 12:45:59.384:INFO [framework.browserify]: bundle built 
27 05 2016 12:45:59.390:INFO [karma]: Karma v0.13.22 server started at http://localhost:9876/ 
27 05 2016 12:45:59.397:INFO [launcher]: Starting browser PhantomJS 
27 05 2016 12:45:59.587:INFO [PhantomJS 2.1.1 (Linux 0.0.0)]: Connected on socket /#eWK70DGTBDXsN94xAAAA with id 72822062 
PhantomJS 2.1.1 (Linux 0.0.0) ERROR 
    SyntaxError: Unexpected token 'const' 
    at /media/data/dev/testes6/index.js:3 

Dank!

+0

Hallo, hast du eine Lösung dafür gefunden? – amgohan

+0

Nein, ich habe keine Lösung gefunden. Nach stundenlanger Recherche habe ich mich entschieden, ES6 für meinen Frontend-Code nicht zu verwenden. Wenn ich Zeit habe, werde ich vielleicht noch einmal nach einer Lösung suchen. Ich habe das Gefühl, dass es mit browserify oder babel oder sowas gemacht werden kann, habe aber den richtigen Weg nicht gefunden – Tdy

Antwort

0

Dieser Typ here sagt, dass die Verwendung von gulp-babel helfen könnte, werfen Sie einen Blick auf den Abschnitt namens "Karma Testing Suite und ES6". Ich habe das gleiche Problem bisher, habe es aber noch nicht ausprobiert.