web-dev-qa-db-fra.com

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

J'essaie d'utiliser gulp et browserify pour transformer mon .jsx fichiers dans .js des dossiers.

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

`` ''

Ce qui précède a jeté 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 pour nodejs et gulp. Après avoir lu le README du projet et du code source, je suis toujours confus. Une aide?

51
Sung Cho

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

Fondamentalement, vous pouvez dire que vinyl-source-stream convertit le flux lisible que vous obtenez de browserify dans un flux de vinyle c'est ce que gulp s'attend à obtenir.

Un flux vinyle est un format de fichier virtuel, et il est fondamental pour Gulp . Grâce à cela streams vinyl Gulp n'a pas besoin d'écrire un fichier temporel entre différentes transformations. Et c'est l'un des principaux avantages qu'il présente sur Grunt .

81
Eloy Pineda

Ce module n'est qu'un pont qui simplifie l'utilisation de flux de texte conventionnels tels que celui-ci en combinaison avec gulp.

4
priya selvam