当我像这样使用karma-babel-preprocessor的documented configuration时
module.exports = function (config) {
config.set({
preprocessors: {
'src/**/*.js': ['babel'],
'test/**/*.js': ['babel']
},
babelPreprocessor: {
options: {
sourceMap: 'inline'
},
filename: function (file) {
return file.originalPath.replace(/\.js$/, '.es5.js');
},
sourceFileName: function (file) {
return file.originalPath;
}
}
});
};
我得到错误的源代码行,例如
at /var/www/edu-web/tests/jasmine/services/image/imageServiceTest.es5.js:77
默认情况下不支持源地图,所以毫不奇怪。但是,这里的问题是在业力完成后删除了imageServiceTest.es5.js
文件,所以我别无选择,只能猜测单元测试失败的位置(在哪一行),而且速度很慢。
Chrome issue中有一个解决方案(不是PhantomJs)。我也可以修复PhantomJs的配置吗?
答案 0 :(得分:5)
我在查看Babel文档时找到了解决方案:
runtime "oracle:ojdbc6:11.2.0.1.0"
保留行号。这将导致古怪的代码 但对于无法使用源地图的情况非常方便。注意:这显然不会保留列。
(http://babeljs.io/docs/usage/options/)
我的最终配置:
retainLines