Javascript 使用babel的ES6模块的Karma单元测试
我正在按照中的说明在我目前正在工作的项目中设置单元测试,但我总是会发现错误 “未定义要求” 我的karma.conf.js如下:Javascript 使用babel的ES6模块的Karma单元测试,javascript,ecmascript-6,karma-jasmine,babeljs,Javascript,Ecmascript 6,Karma Jasmine,Babeljs,我正在按照中的说明在我目前正在工作的项目中设置单元测试,但我总是会发现错误 “未定义要求” 我的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': ['bab
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_模块中的脚本导出了es6类。比如:
export default class MyClass {
}
我的规范文件需要导入这个
import { MyClass } from "../../src/js/es6_modules/myclass";
我在这里看到了一些帖子,上面说我需要使用browserify,但我找不到任何关于如何在karma中与babel一起使用它的文档(或示例)。有人知道如何正确配置它吗?我用browserify而不是babel修复了它,并使用了babelify变换
preprocessors: {
'./src/js/es6_modules/*.js': ['browserify'],
'./test/unit/*.spec.js': ['browserify']
},
browserify: {
debug: true,
"transform": [
[
"babelify",
{
presets: ["es2015"]
}
]
]
},
您如何处理生产中的模块?@zeroflagL与browserify和babelify。我在karma.conf.js中更改了预处理器,现在可以了。