我有一個使用gulp和babel的構建過程,但巴貝爾扔我這個奇怪的重複函數名稱遍佈我的應用程序。巴貝爾重複的函數名稱
在Chrome中的錯誤是:ReferenceError: changeScale is not defined
原始代碼:
changeScale = function(value) {
if (value >= 1000000) return value/1000000 + 'M';
if (value >= 1000) return value/1000 + 'k';
return value;
};
後的代碼一飲而盡和巴貝爾:
changeScale = function changeScale(value) {
if (value >= 1000000) return value/1000000 + 'M';
if (value >= 1000) return value/1000 + 'k';
return value;
};
注意複製功能的名稱?
我一飲而盡任務:
var gulp = require('gulp');
var gutil = require('gulp-util');
var bower = require('bower');
var babel = require("gulp-babel");
var concat = require('gulp-concat');
gulp.task('js', function() {
gulp.src('./www/app/**/*.js')
.pipe(babel())
.pipe(concat('app.js')).on('error', errorHandler)
.pipe(gulp.dest('./www/js/'));
});
而且我.babelrc文件:{ "presets": ["es2015"] }
它們並不奇怪,它們是ES6:分配給某事的所有匿名函數表達式都被命名。不,他們不是你錯誤的原因。告訴我們你試圖調用這個函數的地方,以及你在哪一行得到這個異常。 – Bergi