2015-12-08 13 views
6

これは私のgulpfileコードです:(私が書いている変換ガルプ、Reactify、およびBabelifyが一緒に変換しない

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/')); 
}); 

のみ最初の文の実行を変換し、そのためのは、追加の欠如にエラーがスローされますES6とJSXは反応します)。

私は完全に迷っており、本当に助けに感謝します。

答えて

10

Reactifyは使用しないでください。あなたは現在のバージョンは言わないが、Babel 6の時点では、 "プリセット"はコンパイルを達成するための標準的な方法です。

はあなたにもBabelifyが最新であることを確認する必要があり

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

次を実行します。その後、Gulpの設定は

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/')); 
}); 

となります。詳細はoptions pageを参照してください。

+0

reactifyを使用しないようにすると、この特定のシナリオについて広義に話していますか? – backdesk

+1

Babelはすべてのことを反応させますが、gulp/gruntやそれ自身でセットアップするのと同じくらい簡単です。 OPは*すでにbabel *を使用していますので、反応しても意味がありません。 – Tyrsius

+1

ありがとうございます。個人的な好みよりも上のものを正当化するいくつかの堅実な理由のために、近所にグーグルで行きました。 – backdesk

関連する問題