web-dev-qa-db-ja.com

gulpでvinyl-source-streamを使用する必要があるのはなぜですか?

Gulpとbrowserifyを使用して、.jsxファイルを.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'))
});

`` `

上記はArguments to path.resolve must be stringsを投げました。 vinyl-source-streamを使用してなんとか回避できました

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

なぜこれが機能するのですか?私はnodejsとgulpがかなり新しいです。プロジェクトとソースコードのREADMEを読んだ後、私はまだ混乱しています。

51
Sung Cho

この記事を読むと gulpプロジェクトのビジョン、歴史、未来 がいくつかの概念を明確にする助けになると思います。

基本的に、vinyl-source-stream読解可能なストリームbrowserifyから取得ビニルストリームは、gulpが取得することを期待しているものです。

ビニルストリーム仮想ファイル形式であり、Gulpの基本です。このおかげでvinylストリームGulpは異なる変換の間に一時ファイルを書き込む必要がありません。そして、これはGruntよりも優れている主な利点の1つです。

81
Eloy Pineda

このモジュールは、このような従来のテキストストリームをgulpと組み合わせて簡単に使用できるようにするブリッジです。

4
priya selvam