2016-12-30 2 views
0

gulpfile.jsГлоток-столпотворение изменения ES6 к ES5 требуют не неопределенное

gulp.task('es6', function() { 
    gulp.src('libs/es6/*.js') 
    .pipe(babel()) 
    .pipe(gulp.dest('libs/js')) 
     .pipe(concat('all.js')) 
     .pipe(gulp.dest('libs/dist')) 
     .pipe(rename('all.min.js')) 
     .pipe(uglify()) 
     .pipe(gulp.dest('libs/dist')); 
}); 

.babelrc

{ 
    "presets": ["es2015"] 
} 

использование Глоток-столпотворение преобразования ES6 в ES5 затем получить сообщение об ошибке: неперехваченных ReferenceError: требуется не определен. меня пытаются конфиг .babelrc

{ 
    "presets": ["es2015"], 
    "plugins": ["babel-plugin-transform-es2015-modules-amd"] 
} 

, но все еще получаю ошибку определить не определен. то как сделать es6 transform es5 может нормально в браузере?

ответ

0

Попробуйте изменить файл .babelrc обратно:

{ 
    "presets": ["es2015"] 
} 

Теперь измените gulpfile.js на:

gulp.task('es6', function() { 
    gulp.src('libs/es6/*.js') 
    .pipe(babel({ 
     plugins: 'babel-plugin-transform-es2015-modules-amd' 
    })) 
    .pipe(gulp.dest('libs/js')) 
     .pipe(concat('all.js')) 
     .pipe(gulp.dest('libs/dist')) 
     .pipe(rename('all.min.js')) 
     .pipe(uglify()) 
     .pipe(gulp.dest('libs/dist')); 
}); 

Я просто была аналогичная проблема, и это работает для меня. Единственное отличие - мой плагин называется «transform-es2015-modules-amd».