使用Babel 6和Mocha时,堆栈跟踪会报告错误的行号。我很确定这是因为转换添加了额外的代码。对于我来说,这是Babel 6 vs. Babel 5.x中的新行为。当使用Mocha进行单元测试时,有没有人有解决方法?
这是我的.babelrc配置:
formData.append('EIR_REF', $('#no_eir').val());
注意:无论我是否在我的应用程序的入口点需要('babel-polyfill'),都会发生这种情况。
示例堆栈跟踪如下所示:
{
"ignore": [
"node_modules",
"bower_components"
],
"presets": [
"es2015",
"react"
],
"plugins": [
"transform-react-constant-elements",
"syntax-async-functions",
"transform-regenerator"
]
}
答案 0 :(得分:3)
源图和retainLines:true
选项。这是Gulp任务的一个例子:
const babel = require('gulp-babel');
const sourcemaps = require('gulp-sourcemaps');
gulp.task('babel', done =>
gulp.src('src/**/*.es6')
.pipe(sourcemaps.init())
.pipe(babel({
presets: ['es2015', 'stage-0'],
retainLines: 'true',
}))
.pipe(sourcemaps.write('.', {
sourceRoot: 'src'
}))
.pipe(gulp.dest('lib')));
您还必须
require('source-map-support').install();
位于已编译代码的顶部(只是入口点,即package.json中指定的" main"文件)