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

标签 javascript gulp phantomjs ecmascript-6 gulp-karma

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

谢谢!

最佳答案

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

关于javascript - 使用 Gulp + Karma + PhantomJS 构建 ES6 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37473152/

相关文章:

gruntjs - gulp 中的 load-grunt-config 等效模块

ruby - 如何在 Windows 7 上安装幽灵

phantomjs - 使用 Phantom.js 将 HTML 代码转为 PNG

javascript - 如何在一个部分中实现 2 种不同的网格结构?

javascript - 为什么我不能在定义 var 时放置 .value 属性?

javascript - 如何在对象属性上映射字符串序列

javascript - 使用 gulp 将 karma 测试拆分为可运行 block 的最佳方法是什么?

c# - 使用 selenium Web 驱动程序在 Visual Studio 中测试本地项目

javascript - 为什么这个 lodash uniq isSorted 不起作用?

javascript - Angularjs - 对象未传递到指令的范围以进行双向绑定(bind)