为什么我必须将 vinyl-source-stream 与 gulp 一起使用?
Why do I have to use vinyl-source-stream with gulp?
我正在尝试使用 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和源码,还是一头雾水。有帮助吗?
我觉得看完这篇文章gulp
项目的愿景、历史和未来 可以帮助您理清一些概念。
基本上你可以说 vinyl-source-stream 将 readable stream you get from browserify 转换成 vinyl stream 这就是 gulp 期待获得。
乙烯基流是一种虚拟文件格式,它是Gulp[的基础=26=]。感谢 vinyl streams Gulp 不需要在不同的转换之间写入临时文件。这是它相对于 Grunt.
的主要优势之一
这个模块只是一个桥梁,它使传统的文本流与 gulp.
的结合使用变得简单
我正在尝试使用 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和源码,还是一头雾水。有帮助吗?
我觉得看完这篇文章gulp 项目的愿景、历史和未来 可以帮助您理清一些概念。
基本上你可以说 vinyl-source-stream 将 readable stream you get from browserify 转换成 vinyl stream 这就是 gulp 期待获得。
乙烯基流是一种虚拟文件格式,它是Gulp[的基础=26=]。感谢 vinyl streams Gulp 不需要在不同的转换之间写入临时文件。这是它相对于 Grunt.
的主要优势之一这个模块只是一个桥梁,它使传统的文本流与 gulp.
的结合使用变得简单