gpt4 book ai didi

Gulp 不会通过 watchify、browserify 退出

转载 作者:行者123 更新时间:2023-12-04 14:57:21 34 4
gpt4 key购买 nike

我想设置 gulp 以便能够做两件事:1) 使用 watchify 监视文件中的更新并在更改时使用 browserify 自动重建,以及 2) 进行一次临时构建并退出。

#1 似乎工作正常,但我无法让 #2 工作。我输入 gulp build在终端中,一切都捆绑得很好,但 gulp 不会退出或退出;它只是坐在那里,我没有回到命令行。

我究竟做错了什么?这是整个 gulpfile:

'use strict';

var gulp = require('gulp');
var browserify = require('browserify');
var watchify = require('watchify');
var source = require('vinyl-source-stream');
var gutil = require('gulp-util');

var b = watchify(browserify({
cache: {},
packageCache: {},
entries: ['./app/app.js'],
debug: true,
transform: ['reactify']
}));

b.on('log', gutil.log);

var bundle = function() {
return b.bundle()
.pipe(source('bundle.js'))
.pipe(gulp.dest('./dist'));
};

gulp.task('watch', function() {
b.on('update', bundle);
});

gulp.task('build', function() {
bundle();
});

gulp.task('default', ['watch', 'build']);

这是我终端中的输出:
[11:14:42] Using gulpfile ~/Web Dev/event-calendar/gulpfile.js
[11:14:42] Starting 'build'...
[11:14:42] Finished 'build' after 4.28 ms
[11:14:45] 1657755 bytes written (2.99 seconds)

Gulp 在 11:14:45 的日志之后仍在运行,并且不会跳回到终端。

最佳答案

.bundle()不应在 watchify 包装器上调用。以下修复了一切:

'use strict';

var gulp = require('gulp');
var browserify = require('browserify');
var watchify = require('watchify');
var source = require('vinyl-source-stream');
var gutil = require('gulp-util');

var b = function() {
return browserify({
cache: {},
packageCache: {},
entries: ['./app/app.js'],
debug: true,
transform: ['reactify']
});
};

var w = watchify(b());

w.on('log', gutil.log);

var bundle = function(pkg) {
return pkg.bundle()
.pipe(source('bundle.js'))
.pipe(gulp.dest('./dist'));
};

gulp.task('watch', function() {
bundle(w);
w.on('update', bundle.bind(null, w));
});

gulp.task('build', bundle.bind(null, b()));

gulp.task('default', ['watch']);

关于Gulp 不会通过 watchify、browserify 退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31708318/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com