2015-12-08 11 views
6

dönüştürerek değil Bu benim gulpfile kodudur:Gulp, Reactify ve Babelify birlikte

gulp.task('react', function() { 
    browserify('app/src/main.jsx') 
    .transform(reactify) 
    .transform(babelify) 
    .bundle() 
    .pipe(source('app.js')) 
    .pipe(streamify(uglify())) 
    .pipe(gulp.dest('dist/js/')); 
}); 

Sadece ilk dönüşümü ifade çalıştırılır ve bunun nedeni ben yazıyorum ek eksikliği dönüşümü (bir hata atar ES6 ve JSX w/reaksiyonu).

Tam bir kaybettim ve yardım için gerçekten minnettarım. Reaktifleştir artık kullanılmamalıdır.

cevap

10

Hangi sürüme sahip olduğunuzu söyleme, ancak Babel 6 "ön ayarı", derlemeyi elde etmenin standart yoludur.

çalıştırın aşağıdaki

npm install save-dev babel-preset-react babel-preset-es2015 

Ayrıca Babelify güncel olduğundan emin olun. Sonra Gulp yapılandırma

var babelify = require("babelify"); 
gulp.task('react', function() { 
    browserify('app/src/main.jsx') 
    .transform(babelify, {presets: ["es2015", "react"]}) 
    .bundle() 
    .pipe(source('app.js')) 
    .pipe(streamify(uglify())) 
    .pipe(gulp.dest('dist/js/')); 
}); 

fazla bilgi için options page Bkz olur.

+0

Artık tepki vermemesi gerektiğini söylediğinizde, geniş anlamda mı yoksa bu senaryo hakkında mı konuşuyorsunuz? – backdesk

+1

Babel herşeyin tepki göstermesini ve daha fazlasını yapar ve gulp/grunt ile veya kendi başına kurmak kadar kolaydır. OP * * zaten babel * kullanıyor, bu yüzden de – Tyrsius

+1

teşekkürler. Buradaki kişisel tercihlerin üstünü haklı çıkarmak için bazı sağlam nedenlerle uğraştıktan sonra buraya geldim. – backdesk