這裏是我的gulpfile.js咕嘟咕嘟與watchify/browserify運行兩次,然後停止看
var gulp = require('gulp');
var browserify = require('browserify');
var source = require("vinyl-source-stream");
var reactify = require("reactify");
var watchify = require('watchify');
var gutil = require('gulp-util');
var paths = {
scripts: ['src/jsx/index.jsx']
};
gulp.task('browserify', function(){
var bundler = watchify(browserify('./src/jsx/index.jsx', watchify.args));
bundler.transform(reactify);
bundler.on('update', rebundle);
function rebundle() {
return bundler.bundle()
// log errors if they happen
.on('error', gutil.log.bind(gutil, 'Browserify Error'))
.pipe(source('bundle.js'))
.pipe(gulp.dest('./public/js'));
}
return rebundle();
});
gulp.task('watch', function() {
gulp.watch(paths.scripts, ['browserify']);
});
然後我的命令行輸出如下:
$ gulp watch
[15:10:41] Using gulpfile ~/blizztrack/dashboard/gulpfile.js
[15:10:41] Starting 'watch'...
[15:10:41] Finished 'watch' after 9.95 ms
保存index.jsx
[15:10:45] Starting 'browserify'...
[15:10:51] Finished 'browserify' after 5.33 s
保存index.jsx第二次
[15:11:08] Starting 'browserify'...
[15:11:10] Finished 'browserify' after 2.02 s
保存index.jsx第三次
無輸出。
這似乎是做了我想要的前兩次,然後它只是停止觀看。任何人都可以將我指向正確的方向嗎?
你是否真的改變了第二次和第三次保存之間的文件內容? – thataustin 2014-12-03 20:52:25
@tataustin,是的,我是。 – thealexbaron 2014-12-03 22:41:14
好吧,我不認爲這是你想聽到的答案,但我會說我使用[gulp-browserify](https://www.npmjs.org/package/gulp-browserify),我想我的設置涉及到你在那裏的複雜程度稍低。這裏有一個示例項目,我使用它來在瀏覽之前將jsx(即反應)文件轉換爲js:https://github.com/thataustin/react-maps/blob/master/gulpfile.js – thataustin 2014-12-03 23:12:50