【问题标题】:Gulp output to multiple files rather than one big file?Gulp 输出到多个文件而不是一个大文件?
【发布时间】:2015-08-02 08:02:48
【问题描述】:
是否可以将 gulpfile 配置为输出多个文件而不是一个文件?
我遇到的所有示例都展示了将所有 js 文件缩小和连接成一个 index.html 将加载的大包 js 文件。
当您的应用使用许多库变得更大、更复杂时,此捆绑包很快就会变得臃肿,您会发现一个大捆绑包文件不适合扩展您的应用程序。
这种串联是必须的吗?或者我们可以简单地缩小、丑化和浏览每个文件到输出文件夹中相应的缩小版本吗?
干杯
半开
【问题讨论】:
标签:
javascript
build
gulp
frontend
browserify
【解决方案1】:
您绝对可以配置一个 gulpfile 来输出多个文件而不是一个。例如,我有一个 gulp 任务:
gulp.task('styles', function () {
gulp.src('dev/less/*.less')
.pipe(plumber())
.pipe(less())
.pipe(prefix())
.pipe(minifyCSS())
.pipe(gulp.dest('dist/css'))
});
我的 less 文件夹中有 5 个 .less 文件,它们在我的分发文件夹中变成了 5 个名称匹配的 .css 文件。
对于 JavaScript 文件也是如此:
gulp.task('scripts', function () {
gulp.src('dev/landing/*.js')
.pipe(uglify())
.pipe(gulp.dest('dist/js'));
});
四个 JavaScript 文件在我的 distribution/js 文件夹中变成了它们自己的丑化版本。
但是,如果您想专门针对browserify,这是一个不同的问题。 browserify 构建的目的是包含源自您最初包含的 JavaScript 文件的任何依赖项。
如果保留单独的文件对您来说更重要,您可以查看browserify-deoptimizer