2016-12-30 56 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轉換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」。

相關問題