gpt4 book ai didi

javascript - 如何使用 gulp-browserify 观看多个文件但只处理一个文件?

转载 作者:可可西里 更新时间:2023-11-01 02:14:04 24 4
gpt4 key购买 nike

我正在尝试连接 gulp-browserifygulp-watch每次源文件更改时重建我的包。但是,gulp-browserify 需要一个单一的编译入口点(例如 src/js/app.js)并获取每个依赖项本身:

gulp.src('src/js/app.js')
.pipe(browserify())
.pipe(gulp.dest('dist'))

但是,使用 gulp-watch 这无法在每次更改时重建,因为只监视入口点文件。我真正需要的是可以监视多个文件,然后只处理入口点文件(查找 replaceEverythingWithEntryPointFile):

gulp.src("src/**/*.js")
.pipe(watch())
.pipe(replaceEverythingWithEntryPointFile()) // <- This is what I need
.pipe(browserify())
.pipe(gulp.dest("dist"));

所以问题是:如何将 gulp-browserify 指向入口点文件并在任何源文件发生更改时触发重建?如果解决方案包括节流,那就太好了:启动时,每个源文件都被设置为监视,因此我们的入口点文件将被管道传输到 gulp-browserify 文件的次数与文件数量一样多,这是不必要的。

最佳答案

只需在文件更改时调用普通任务,如下所示:

gulp.task("build-js", function() {
return gulp.src('src/js/app.js')
.pipe(browserify())
.pipe(gulp.dest('dist'))
});

gulp.task("watch", function() {
// calls "build-js" whenever anything changes
gulp.watch("src/**/*.js", ["build-js"]);
});

如果你想使用gulp-watch(因为它可以寻找新文件),那么你需要做这样的事情:

gulp.task("watch", function() {
watch({glob: "src/**/*.js"}, function() {
gulp.start("build-js");
});
});

使用 gulp-watch 也有批处理操作的好处,所以如果你一次修改多个文件,你不会连续得到一堆构建。

关于javascript - 如何使用 gulp-browserify 观看多个文件但只处理一个文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21818188/

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