Javascript Gulp 将多个 js 文件缩小为一个

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/26719884/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-22 23:16:51  来源:igfitidea点击:

Gulp minify multiple js files to one

javascriptgulp

提问by Stan

I am new to Gulp and wondering how can I minify (concatinate) my collection to single file instead of every file separately.

我是 Gulp 的新手,想知道如何将我的收藏缩小(连接)到单个文件而不是单独的每个文件。

Example

例子

var gulp = require('gulp');
var uglify = require('gulp-uglify');

gulp.task('minify', function () {
   gulp.src([
        'content/plugins/jquery/jquery-2.1.1.js',
        'content/plugins/jquery/jquery-ui.js',
        'content/js/client.js'])
      .pipe(uglify())
      .pipe(gulp.dest('content/js/client.min.js')) // It will create folder client.min.js
});

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

As you can see I'm trying to minify 3 javascript files and then output them into one client.min.js. Is it possible?

如您所见,我正在尝试缩小 3 个 javascript 文件,然后将它们输出到一个client.min.js. 是否可以?

回答by user3995789

This plugin will help gulp-concat.

这个插件将帮助gulp-concat

Usage:

用法:

var concat = require('gulp-concat');

gulp.task('scripts', function() {
  gulp.src(['./lib/file3.js', './lib/file1.js', './lib/file2.js'])
    .pipe(concat('all.js'))
    .pipe(uglify())
    .pipe(gulp.dest('./dist/'))
});

回答by Aditya Giri

Instead of going through a lots of tricky things, I recommend you getting laravel-elixir. It is compiling sass, less, babel, coffescript and even adding something that you want with not just JavaScript but also with css. All the code that you will need will be:

与其经历很多棘手的事情,我建议您获得laravel-elixir. 它正在编译 sass、less、babel、coffescript,甚至还可以使用 JavaScript 和 css 添加一些你想要的东西。您需要的所有代码将是:

var gulp = require('gulp');
var elixir = require('laravel-elixir');

elixir(function(mix) {
    mix.scripts(['app.js', 'controllers.js', 'sweetalert.js'], 'public/js/all.js');
    mix.styles(['normalize.css', 'app.css', 'sweetalert.css'], 'public/css/all.css')
});

回答by SynCap

Lets try gulp-concat-utilfor joining scripts. It's similar to concat, but have some helpers to glue files. There is special helper to concatinate scripts.

让我们尝试gulp-concat-util来加入脚本。它类似于 concat,但有一些帮助文件来粘合文件。有特殊的助手来连接脚本。

var concat = require('gulp-concat-util');

gulp.task('scripts', function() {
  gulp.src(['./lib/file3.js', './lib/file1.js', './lib/file2.js'])
    .pipe(concat.scripts('all.js'))
    .pipe(uglify())
    .pipe(gulp.dest('./dist/'))
});