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?
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 .
ce module n'est qu'un pont qui simplifie l'utilisation de flux de texte conventionnels comme celui-ci en combinaison avec gulfp.