为什么我必须使用laul-source-stream和gulp?

时间:2015-06-12 02:14:25

标签: 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)
    .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和源代码之后,我仍然感到困惑。有什么帮助吗?

2 个答案:

答案 0 :(得分:81)

我认为阅读本文gulp The vision, history, and future of the project可以帮助您澄清一些概念。

基本上你可以说乙烯基源流readable stream you get from browserify转换为乙烯流,这是gulp期望得到的。

乙烯基流虚拟文件格式,它是 Gulp 的基础。感谢这个乙烯基流 Gulp不需要在不同的转换之间编写临时文件。这是 Grunt 的主要优势之一。

答案 1 :(得分:4)

这个模块只是一个桥梁,可以很容易地将传统的文本流与gulp结合使用。