这里是我的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