Wir haben Karma installiert, das Mocha und Chai für Tests verwendet. Wir versuchen, babel mit karma-babel-preprocessor direkt in Karma zu integrieren, um die Konvertierung unserer ES6-Dateien in ES5 durchzuführen. Die Verwendung von mocha arbeitet individuell mit babel, d. H. Einem Mokka-Test-Befehl, aber wir versuchen, Karma zu verwenden, stattdessen funktioniert es nicht.Babel [karma-babel-preprocessor] Konvertieren von ES6-> ES5 für Karma-Tests
karma.conf.js Snippet:
frameworks: ['mocha', 'chai'],
// preprocess matching files before serving them to the browser
// available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor
preprocessors: {
'src/**/*.js': ['babel'],
'test/**/*_spec.js': ['babel']
},
"babelPreprocessor": {
options: {
presets: ['es2015'],
sourceMap: 'inline'
},
filename: function(file) {
return file.originalPath.replace(/\.js$/, '.es5.js');
},
sourceFileName: function(file) {
return file.originalPath;
}
},
// list of files/patterns to load in the browser
files: [
'src/**/*.js',
'test/**/*_spec.js'
],
package.json Schnipsel:
"scripts": {
"test": "./node_modules/karma/bin/karma start karma.conf.js"
},
"babel": {
"presets": ["es2015"]
},
"devDependencies": {
"babel-preset-es2015": "^6.1.18",
"chai": "^3.4.1",
"karma": "^0.13.15",
"karma-babel-preprocessor": "^6.0.1",
"karma-chai": "^0.1.0",
"karma-mocha": "^0.2.1",
"karma-phantomjs-launcher": "^0.2.1",
"phantomjs": "^1.9.18",
"redux": "^3.0.4"
}
Wir erhalten die folgende Fehlermeldung:
PhantomJS 1.9.8 (Mac OS X 0.0.0) ERROR
ReferenceError: Can't find variable: exports
at Users/alexgurr/BT/FutureVoice/trunk/Portal/server/src/login.es5.js:3
Wenn wir die JS-Dateien auswerten zu sein geladen, wurden sie nicht in ES5 konvertiert, daher ist die Syntax 'export' immer noch vorhanden.
Wir wollen keine anderen Frameworks für die Konvertierung verwenden, dh. webpack, browserifizieren etc.
Danke!
Offensichtlich Dateien transpiled _was_. Wahrscheinlich wurde Babel nur global installiert ('npm install -g babel'), um zu verhindern, dass lokale' node_module' unkontrolliert wachsen – ankhzet