我想使用Gulp,Karma和PhantomJS构建我的Javascript ES6应用程序,但是Phantom不想听到任何ES6表达式。
我正在使用应该支持ES6的PhantomJS v2.1。
我也尝试过没有browserify和babelify,但没有成功。

知道我在这里想念什么吗?

这是我的测试代码:

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' ]
    }

  });
};

这就是我在启动gulp时得到的:
[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

谢谢!

最佳答案

这个人here表示使用gulp-babel可能会有所帮助,请看一下“业力测试套件和ES6”部分。到目前为止,我有同样的问题,但是还没有尝试过。

09-30 16:24
查看更多