まず以下のようなgulpfile.jsを書きました。
var gulp = require('gulp'); var browserify = require('browserify'); var source = require("vinyl-source-stream"); var reactify = require('reactify'); var watchify = require('watchify'); var sass = require('gulp-sass'); var buffer = require('vinyl-buffer'); var plumber = require('gulp-plumber'); var uglify = require('gulp-uglify'); gulp.task('browserify', function(){ var b = browserify({ entries: ['./src/test.jsx'], transform: [reactify] }); return b.bundle() .pipe(source('test.js')) .pipe(uglify()) .pipe(gulp.dest('./dist')); });
それをbrowserifyしてみたところ、エラーになりました。
$ gulp browserify [10:26:15] Using gulpfile ~/Documents/github/test/gulpfile.js [10:26:15] Starting 'browserify'... events.js:72 throw er; // Unhandled 'error' event ^ Error: /Users/xxxx/Documents/github/test/test.js: Streaming not supported
調べたところ、gulp-streamifyを使うとよいようです。
・インストール $ npm install --save-dev gulp-streamify ・requireを追加 var streamify = require('gulp-streamify'); ・uglify()をstreamify(uglify())に変更 gulp.task('browserify', function(){ var b = browserify({ entries: ['./src/test.jsx'], transform: [reactify] }); return b.bundle() .pipe(source('test.js')) .pipe(streamify(uglify())) .pipe(gulp.dest('./dist')); });
修正して実行したらエラー出ませんでした。
$ gulp browserify [10:29:52] Using gulpfile ~/Documents/github/test/gulpfile.js [10:29:52] Starting 'browserify'... [10:29:56] Finished 'browserify' after 3.85 s
参考URL
http://yebisupress.dac.co.jp/2015/02/26/gulp-js%E3%81%A7%E5%BA%83%E5%91%8A%E3%82%BF%E3%82%B0%E3%81%AE%E9%96%8B%E7%99%BA%E7%92%B0%E5%A2%83%E3%82%92%E6%95%B4%E3%81%88%E3%82%8B/
https://github.com/hughsk/vinyl-source-stream/issues/1
0 件のコメント:
コメントを投稿