Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用babel的ES6模块的Karma单元测试_Javascript_Ecmascript 6_Karma Jasmine_Babeljs - Fatal编程技术网

Javascript 使用babel的ES6模块的Karma单元测试

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

我正在按照中的说明在我目前正在工作的项目中设置单元测试,但我总是会发现错误

“未定义要求”

我的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_模块中的脚本导出了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中更改了预处理器,现在可以了。