2017-01-30 4 views
0

Я следующие инструкции от karma-babel-preprocessor для установки на модульные тесты в проекте, я в настоящее время работает, но я всегда ошибкатест блок Karma для модулей ES6 с Вавилонской

«требуют не определен»

Мой karma.conf.js выглядит следующим образом:

files: [ 
    { pattern: './test/unit/*.spec.js', watched: true }, 
    { pattern: './src/js/es6_modules/*.js', watched: false }, 
], 

preprocessors: { 
    './src/js/es6_modules/*.js': ['babel'], 
    './test/unit/*.spec.js': ['babel'] //, 'coverage' 
}, 

babelPreprocessor: { 
    options: { 
    presets: ['es2015'], 
    sourceMap: 'inline' 
    }, 
    filename: function (file) { 
    return file.originalPath.replace(/\.js$/, '.es5.js'); 
    }, 
    sourceFileName: function (file) { 
    return file.originalPath; 
    } 
} 

сценарии в ИПВ/JS/es6_modules Jave классы ES6 экспорт. Что-то вроде:

export default class MyClass { 

} 

И мой файл спецификации нужно будет импортировать этот

import { MyClass } from "../../src/js/es6_modules/myclass"; 

Я видел некоторые нить здесь на SO, что сказал, что я должен использовать browserify, но я не могу найти doc (или пример) о том, как использовать его вместе с babel в карме. Кто-нибудь знает, чтобы настроить это правильно?

+0

Как вы справляетесь модули в производстве? – zeroflagL

+0

@zeroflagL с браузером и babelify. Я изменил препроцессор в karma.conf.js, теперь все в порядке. –

ответ

0

Я установил его с помощью browserify вместо Бабеля, и с помощью babelify преобразования

preprocessors: { 
    './src/js/es6_modules/*.js': ['browserify'], 
    './test/unit/*.spec.js': ['browserify'] 
}, 

browserify: { 
    debug: true, 
    "transform": [ 
    [ 
    "babelify", 
    { 
     presets: ["es2015"] 
    } 
    ] 
] 
}, 

 Смежные вопросы

  • Нет связанных вопросов^_^