Javascript Karma babel polyfill类型错误
我一直在尝试在karma中使用generator,我读了很多关于在Javascript Karma babel polyfill类型错误,javascript,karma-runner,babeljs,redux-saga,babel-polyfill,Javascript,Karma Runner,Babeljs,Redux Saga,Babel Polyfill,我一直在尝试在karma中使用generator,我读了很多关于在karma.conf.js中的测试文件之前需要包含polyfill文件的内容 这是我的karma.conf.js文件: let webpackConfig = require('./webpack.config.js'); webpackConfig.entry = './src/index.js'; config = { frameworks: ['mocha', 'chai', 'sinon'], fil
karma.conf.js
中的测试文件之前需要包含polyfill文件的内容
这是我的karma.conf.js
文件:
let webpackConfig = require('./webpack.config.js');
webpackConfig.entry = './src/index.js';
config = {
frameworks: ['mocha', 'chai', 'sinon'],
files: [
'./node_modules/babel-polyfill/dist/polyfill.js',
// './node_modules/babel-polyfill/browser.js',
'./test/tests.webpack.js'
],
preprocessors: {
'./src/index.js': ['webpack', 'sourcemap'],
// './src/**/*.js': ['webpack', 'sourcemap'],
'./test/tests.webpack.js': ['webpack', 'sourcemap'],
},
webpack: webpackConfig,
...
}
但我每次运行karma start
时都会遇到这个错误:
未捕获类型错误:无法读取未定义的属性“2”
只有在文件中有polyfill
文件时才会显示此错误,如果删除它,则会出现以下错误:未定义再生运行时间
我跟踪了错误,它来自于这一个(redux saga)
在我的传奇故事中我做错了什么吗?还是巴贝尔?还是别的地方?任何帮助都将不胜感激我只是解决了这个问题,但并没有真正解决它。我猜这是因为我导入了index.js
,加载并呈现所有react应用程序。在我删除导入到index.js
之后,它工作正常。我想我会坚持不导入index.js
,因为渲染整个应用程序对单元测试非常不利。但我仍然不知道真正的原因在哪里,因为你混合了巴贝尔变换运算和多边形填充?仅仅转换是不够的,因为您应该添加运行时多边形填充,例如。再生器RUNTIME公司。
var _marked = [selectedDataChanged, selectedInfoChanged, stockAppSaga].map(regeneratorRuntime.mark);
function stockAppSaga() {
return regeneratorRuntime.wrap(function stockAppSaga$(_context3) {
while (1) {
switch (_context3.prev = _context3.next) {
case 0:
_context3.next = 2;
return [
// takeEvery(
// [actionTypes.SELECTED_TICKER_CHANGED, actionTypes.SELECTED_DATE_CHANGED],
// selectedInfoChanged
// ),
(0, _effects.takeEvery)([actionTypes.SELECTED_TICKER_CHANGED, actionTypes.SELECTED_DATE_CHANGED], selectedDataChanged)];
case 2:
case 'end':
return _context3.stop();
}
}
}, _marked[2], this); // this is the error line
}