Javascript 为什么我必须使用乙烯基源流与大口?

Javascript 为什么我必须使用乙烯基源流与大口?,javascript,node.js,gulp,browserify,Javascript,Node.js,Gulp,Browserify,我正在尝试使用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)

我正在尝试使用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'))
});
```

上面向path.resolve抛出的
参数必须是字符串。我通过使用
乙烯基源代码流

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

为什么这样做有效?我对点头和大口大口大口地喝是相当陌生的。在阅读了项目的自述和源代码之后,我仍然感到困惑。有什么帮助吗?

我认为阅读本文可以帮助您澄清一些概念

基本上你可以说,乙烯基源流将其转化为gulp期望得到的乙烯基流


乙烯基流是一种虚拟文件格式,它是Gulp的基础。由于这种乙烯基流Gulp不需要在不同转换之间编写临时文件。这是它与Grunt相比的一个主要优势。这个模块只是一个桥梁,它使传统的文本流与gulp结合使用变得简单