Próbuję uruchomić Karma-babel-preprocessor i prosto do przodu ES6 generator:RegeneratorRuntime nie jest zdefiniowana
//require('babel/polyfill');
describe("how Generators work", function() {
it("will allow generator functions", function() {
/*function * numbers() {
yield 1;
yield 2;
yield 3;
};*/
let numbers = {
[Symbol.iterator]:function*(){
yield 1;
yield 2;
yield 3;
}
}
let sum = 0;
for(n of numbers){
sum += n;
}
expect(sum).toBe(6);
});
});
Od tego ja generowane moje pliki testowe (ES6 => ES5) z babel:
babel src --watch --out-dir tests
Potem biegnę karma start
otrzymuję błąd:
ReferenceError: regeneratorRuntime is not defined".
Istotne bity w karma.conf.js:
// list of files/patterns to load in the browser
files: [
'test-main.js',
{pattern: 'tests/*.js', included: true}
],
// list of files to exclude
exclude: [
],
// preprocess matching files before serving them to the browser
// available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor
preprocessors: {
'src/*.js': ['babel']
},
'babelPreprocessor': {
options: {
sourceMap: 'inline'
},
filename: function(file) {
return file.originalPath.replace(/\.js$/, '.es5.js');
},
sourceFileName: function(file) {
return file.originalPath;
}
},
// test results reporter to use
// possible values: 'dots', 'progress'
// available reporters: https://npmjs.org/browse/keyword/karma-reporter
reporters: ['progress'],
jestem w stanie korzystać z wielu ES6 dysponuje łącznie strzałkami. Po prostu nie generuj generatorów.
Próbowałem obie opcje. Żadne z nich nie działało dla mnie. Dodałem 'node_modules/babel/polyfill.js' oraz Error:' Uncaught ReferenceError: moduł nie jest zdefiniowany'. Wierzę, że odnosi się do pojedynczej linii w tym pliku zawierającej 'moduł'. Dodałem coraz więcej katalogów dir/*. Js i po prostu zagłębiłem się w to bez żadnego działania. Druga wymieniona opcja wydaje się nie mieć wpływu, ten sam błąd. –
Twoja odpowiedź jest bardzo bliska i na pewno postawi mnie na właściwej drodze. Jest kilka błędów, więc wysłałem odpowiedź, aby pomóc je zidentyfikować. –
Awesome! Zmieniłem ścieżkę polyfill w mojej odpowiedzi, aby nie pomylić innych. – Martin