2015-10-20 6 views
15

私は一口-反応に使用する前にはsrc/の.jsGulpとBabelで.jsxから.jsに変換するにはどうすればよいですか?

/にすべて/ SRC/.jsxのファイルを変換する必要があります:それはいくつかの小さなミスなしで動作しますが、ない

var react = require('gulp-react'); 

gulp.task('jsx', function() { 
    return gulp.src('src/jsx/*.jsx') 
    .pipe(react()) 
    .pipe(gulp.dest('src/js/')); 
}); 

を。 私はバベルのウェブサイト(https://babeljs.io/repl/)を使用するとすべてが正しく変換されます。私たちを手伝ってくれますか。 .JSXファイルを変換するにはどうすればよいですか?

+0

Babelのウェブサイトのドキュメントのように見えます:http://babeljs.io/docs/setup/#gulpそしてすでに 'gulp-rename'の使い方を説明しているたくさんのリソースがあります。 – loganfsmyth

+0

gulp.task( 'jsx'、function(){ return gulp.src( 'src/jsx/* .jsx') .pipe(babel()) .pipe(gulp.dest( 'src/js/')); }); –

+0

あなたはそのコメントで何を言おうとしているのか分かりません。うん、それはコンパイルされます。次に、 'gulp-rename'で名前を変更することができます。 – loganfsmyth

答えて

0

gulp-babelパッケージでgulpを使用している場合は、このトリックを行います。そして、あなたはこのように変換することができます

npm install gulp-babel babel-plugin-transform-react-jsx 


https://github.com/babel/gulp-babel

26

まずあなたは、この二つのパッケージをインストールする必要があり

自動変換に挿入されたのdisplayNameを取得するために
var gulp = require('gulp'); 
var babel = require('gulp-babel'); 

gulp.task("babel", function(){ 
    return gulp.src("src/jsx/*.jsx"). 
     pipe(babel({ 
      plugins: ['transform-react-jsx'] 
     })). 
     pipe(gulp.dest("src/js/")); 
}); 
+0

おかげさまで、 'babel-core'もインストールする必要があるようでした。 –

+0

これはそのような有用な答えです。誰かがJSX変換だけを必要とし、何もしない状況がたくさんあります。 – TKoL

3

、あなたがする必要がありますgulp-babelをインストールし、React preset

npm install --save-dev gulp-babel babel-preset-react 
gulpfile.jsで

、その後:

var gulp = require('gulp'); 
var babel = require('gulp-babel'); 

gulp.task("jsx", function(){ 
    return gulp.src("src/jsx/*.jsx") 
     .pipe(babel({ 
      presets: ["react"] 
     })) 
     .pipe(gulp.dest("src/js")); 
}); 
2
gulp.task('build', ['copy'], function() { 
    gulp.src([ 
      'src/**/*.jsx', 
      'src/**/*.js', 
      '!./node_modules/**' 
     ]) 
     .pipe(babel({ 
      presets: ['es2015', 'react'] 
     })) 
     .pipe(gulp.dest('app')); 
}); 

私もES6を使用しておりますので。

関連する問題