使用browserify / babel的karma配置

时间:2015-11-22 14:59:55

标签: karma-jasmine gulp-karma

我有一个业力骗局,我尝试用babel / browserify工作。它看起来像这样:

module.exports = function(config) {
config.set({
    browsers: ['Chrome'],
    frameworks: ['jasmine'],
    plugins: [
        'karma-jasmine',
        'karma-chrome-launcher',
        'karma-babel-preprocessor',
        'karma-browserify'
    ],
    preprocessors: {
        '../src/**/*.js': ['babel', 'browserify'],
        'unit/*.spec.js': ['babel', 'browserify']
    },
    files: [
        '../src/**/*.js',
        'unit/*.spec.js'
    ],
    babelPreprocessor: {
        options: {
            presets: ['es2015'],
            sourceMap: 'inline'
        },
        filename: function (file) {
            return file.originalPath.replace(/\.js$/, '.es5.js');
        },
        sourceFileName: function (file) {
            return file.originalPath;
        }
    }
});

};

每次通过gulp babel预处理器运行此配置时,都会返回以下错误: 错误[preprocessor.babel]:无法读取未定义

的属性'bundleFile'

2 个答案:

答案 0 :(得分:6)

尝试添加' browserify'到这样的框架',像这样: let*

我有同样的错误,通过这样做来解决。这是我工作的业力配置

frameworks: ['browserify', 'jasmine']

答案 1 :(得分:0)

固定配置文件:

module.exports = function(config) { config.set({ browsers: ['Chrome'], frameworks: ['jasmine', 'browserify'], plugins: [ 'karma-jasmine', 'karma-chrome-launcher', 'karma-babel-preprocessor', 'karma-browserify' ], preprocessors: { '../src/js/app.js': ['browserify'], '../src/js/login/login-ctrl.js': ['browserify'], './unit/*.spec.js': ['browserify'] }, files: [ '../../node_modules/angular/angular.js', '../../node_modules/angular-mocks/angular-mocks.js', '../src/js/app.js', '../dist/js/partials/templates-all.js', '../src/js/login/login-ctrl.js', 'unit/*.spec.js' ], browserify: { debug: true, transform: [ ['babelify'] ] }, singleRun: false, reporters: ['progress'], colors: true }); };