Pourquoi dois-je utiliser vinyl-source-stream avec gulfp?

j'essaie d'utiliser gulfp et browserify pour transformer mes fichiers .jsx en fichiers .js .

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

""

the above thrown Arguments to path.resolve must be strings . J'ai réussi à le contourner en utilisant vinyl-source-stream

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

pourquoi ça marche? Je suis assez nouveau à nodejs et gulp. Après avoir lu le README du projet et le code source, je suis encore confus. Toute aide?

50
demandé sur Eloy Pineda 2015-06-12 05:14:25

2 réponses

je pense que la lecture de cet article gulp La vision, l'histoire et l'avenir du projet peut vous aider à clarifier quelques concepts.

en gros, vous pouvez dire que vinyl-source-stream convertissez le readable stream vous obtenez de browserify en un vinyl stream c'est ce que gulp s'attend à obtenir.

Un "151920920 vinyle de" flux est un Virtuel "format du fichier 1519110920" , et il est fondamental pour Gulp . Grâce à ce Vinyl streams Gulp n'a pas besoin d'écrire un fichier temporel entre les différentes transformations. Et c'est l'un des principaux avantages qu'il a sur Grunt .

81
répondu Eloy Pineda 2015-06-15 17:21:38

ce module n'est qu'un pont qui simplifie l'utilisation de flux de texte conventionnels comme celui-ci en combinaison avec gulfp.

4
répondu priya selvam 2016-04-13 11:03:52