2015-06-12 6 views
49

Ich versuche, Schluck und Browser zu verwenden, um meine .jsx Dateien in .js Dateien umzuwandeln.Warum muss ich Vinyl-Source-Stream mit Schluck verwenden?

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

`` `

Die oben Arguments to path.resolve must be strings warf. Ich schaffte es, um es zu erhalten, indem vinyl-source-stream

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

mit Warum funktioniert das? Ich bin ziemlich neu bei Nodejs und Schluck. Nach dem Lesen der README des Projekts und des Quellcodes bin ich immer noch verwirrt. Irgendeine Hilfe?

Antwort

78

Ich denke, dass das Lesen dieses Artikels gulp The vision, history, and future of the project Ihnen helfen kann, einige Konzepte zu klären.

Grundsätzlich kann man sagen, dass Vinyl-Source-Strom die readable stream you get from browserify in einen Vinyl Strom umwandeln das ist, was Schluck zu erhalten erwartet.

A Vinyl Strom ist ein virtuelles Dateiformat, und es ist von grundlegender Bedeutung für Gulp. Dank dieser Vinyl Streams Gulp muss nicht eine temporäre Datei zwischen verschiedenen Transformationen schreiben. Und dies ist einer der Hauptvorteile gegenüber Grunt.

3

Dieses Modul ist nur eine Brücke, die es einfach macht, herkömmliche Textströme wie diese in Kombination mit Schluck zu verwenden.

Verwandte Themen