4

我想使用 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);

业力.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

谢谢!

4

1 回答 1

0

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

于 2017-03-15T12:27:58.057 回答