为什么我必须使用乙烯源stream与吞咽?
我正在尝试使用.jsx
和.jsx
将我的.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和源代码后,我仍然感到困惑。 任何帮助?
我认为阅读这篇文章可以帮助你澄清一些概念,包括项目的远景,历史和未来 。
基本上你可以说乙烯来源stream将您从browserify获得的可读stream转换成乙烯stream ,这是吞咽期望得到的东西。
乙烯stream是一种虚拟文件格式 ,是Gulp的基础 。 由于乙烯基stream Gulp不需要在不同的转换之间编写一个临时文件。 这是Grunt的主要优点之一。
这个模块只是一个桥梁,使得使用传统的文本stream,比如这个结合吞咽简单。