2015-10-20 5 views
15

मैं सभी बदलने की आवश्यकता:गुलप और बेबेल के साथ .jsx से .js को कैसे परिवर्तित करें?// Src/</em> .js</p> <p>को src/<em>.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/) का उपयोग करता हूं तो सभी सही रूप से परिवर्तित होते हैं। क्या तुम मेरी मदद कर सकते हो। मैं कन्वर्ट करने के लिए गल्प सेट कैसे कर सकता हूं। जेएसएक्स फाइलें?

+0

लगता है कि बेबेल की वेबसाइट पर प्रलेखन की तरह यह शामिल है: http://babeljs.io/docs/setup/#gulp और संसाधनों के बहुत सारे संसाधन पहले से ही बता रहे हैं कि 'गल्प-नाम' का उपयोग कैसे करें। – loganfsmyth

+0

gulp.task ('jsx', function() { वापसी gulp.src ('src/jsx/*। Jsx') । पाइप (बेबेल()) .pipe (gulp.dest ('src/js/')); }); –

+0

मुझे यकीन नहीं है कि आप उस टिप्पणी के साथ क्या कहने की कोशिश कर रहे हैं। हाँ, यह संकलित होगा। फिर आप 'गल्प-नाम' के साथ नाम बदल सकते हैं। – loganfsmyth

उत्तर

26

सबसे पहले आप इस दो संकुल स्थापित करने की आवश्यकता:

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

तो आप इस तरह परिवर्तित कर सकते हैं:

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

धन्यवाद, ऐसा लगता है कि मुझे 'बेबेल-कोर' की भी आवश्यकता है। –

+0

यह एक उपयोगी उत्तर है। ऐसी कई स्थितियां जहां किसी * को * जेएसएक्स परिवर्तन की आवश्यकता होती है और कुछ और नहीं। – TKoL

3

आदेश DISPLAYNAME प्राप्त करने के लिए स्वचालित रूप से परिवर्तन पर डाला है, तो आप की जरूरत है गल्प-बेबेल स्थापित करें और 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 उपयोग कर रहा हूँ।

संबंधित मुद्दे