使用Gulp + Karma + PhantomJS构建ES6应用程序

时间:2016-05-27 00:48:29

标签: javascript gulp phantomjs ecmascript-6 gulp-karma

我想使用Gulp,Karma和PhantomJS构建我的Javascript ES6应用程序,但Phantom并不想听到任何ES6表达。 我使用的是支持ES6的PhantomJS v2.1。 我也尝试过没有浏览器化和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

谢谢!

1 个答案:

答案 0 :(得分:0)

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