2015-06-12 18 views
49

.jsx dosyalarımı .js dosyalarına dönüştürmek için gulp ve browserify dosyalarını kullanmaya çalışıyorum.Neden vinil-source-stream'i gulp ile kullanmalıyım?

var gulp = require('gulp'); 
var browserify = require('browserify'); 
var reactify = require('reactify'); 

gulp.task('js', function() { 
    browserify('public/javascripts/src/app.jsx') 
    .transform(reactify) 
    .bundle() 
    .pipe(gulp.dest('public/javascripts/dist')) 
}); 

`

yukarıda Arguments to path.resolve must be strings attı. Ben vinyl-source-stream

var source = require('vinyl-source-stream'); 
... 
.bundle() 
.source('app.js') 
... 

Neden bu işi yapar kullanarak etrafında başardı? Ben nodejs ve gulp için oldukça yeni. Projenin README'sini ve kaynak kodunu okuduktan sonra hala kafam karıştı. Herhangi bir yardım?

cevap

78

Bu makaleyi okurken gulp The vision, history, and future of the project'un birkaç kavramı açıklığa kavuşturmanıza yardımcı olabileceğini düşünüyorum.

Temel olarak vinil-kaynak akışı yudum almak için beklediği bir vinil akımına içine readable stream you get from browserify dönüştürmek olduğunu söyleyebiliriz.

bir vinil akımı bir Sanal dosya biçimi olduğunu ve Gulp için temeldir. Bu vinil akışları sayesinde Gulp'in farklı dönüşümler arasında bir zamansal dosya yazması gerekmiyor. Ve bu, Grunt üzerinden sahip olduğu başlıca avantajlardan biridir.

3

Bu modül, gulp ile birlikte geleneksel metin akışlarını kullanmayı basitleştiren bir köprüdür.