我正在尝试使用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和源代码之后,我仍然感到困惑。有什么帮助吗?
答案 0 :(得分:81)
我认为阅读本文gulp The vision, history, and future of the project可以帮助您澄清一些概念。
基本上你可以说乙烯基源流将readable stream you get from browserify转换为乙烯流,这是gulp期望得到的。
乙烯基流是虚拟文件格式,它是 Gulp 的基础。感谢这个乙烯基流 Gulp不需要在不同的转换之间编写临时文件。这是 Grunt 的主要优势之一。
答案 1 :(得分:4)
这个模块只是一个桥梁,可以很容易地将传统的文本流与gulp结合使用。