我正按照karma-babel-preprocessor的说明在我正在工作的项目中设置单元测试,但我总是出错
'require未定义'
我的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;
}
}
src / js / es6_modules中的脚本导出了ES6类。类似的东西:
export default class MyClass {
}
我的spec文件需要导入
import { MyClass } from "../../src/js/es6_modules/myclass";
我在SO上看到一些帖子说我需要使用browserify,但我找不到任何关于如何在业力中与babel一起使用的文档(或示例)。有谁知道要正确配置吗?
答案 0 :(得分:0)
我使用browserify而不是babel修复它,并使用babelify转换
preprocessors: {
'./src/js/es6_modules/*.js': ['browserify'],
'./test/unit/*.spec.js': ['browserify']
},
browserify: {
debug: true,
"transform": [
[
"babelify",
{
presets: ["es2015"]
}
]
]
},