テスト用にmochaとchaiを使用しているカルマをインストールしました。私たちは、カルマ - バベル - プリプロセッサを使用して、カルベルにまっすぐにバベルを組み込み、ES6ファイルをES5に変換して実行させようとしています。 mochaを使用すると、個別にbabel(モカテストコマンド)が動作しますが、カルマを使用しようとしますが、動作しません。Babel [karma-babel-preprocessor]カルマテスト用のES6-> ES5を変換しない
karma.conf.jsはスニペット:
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スニペット:
"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"
}
私たちは、次のエラーを取得:我々はされてJSファイルを評価するとき
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
をそれらはES5に変換されていないので、構文 'export'はまだ存在します。
私たちは変換に他のフレームワークを使用したくありません。ウェブパック、ブラウザなど
ありがとう!
とbrowserifyバンドラ、ファイルがtranspiled _was_。おそらく、Babelはローカルの 'node_modules'が制御不能に成長するのを防ぐために、グローバルにインストールされました(' npm install -g babel')。 – ankhzet