web-dev-qa-db-ja.com

複数のjsファイルを1つに縮小する

私はGulpが初めてであり、どのファイルを個別にすべてのファイルではなく単一のファイルに縮小(連結)できるのでしょうか。

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']);

ご覧のとおり、3つのjavascriptファイルを縮小して1つのclient.min.jsに出力しようとしています。出来ますか?

62
sed

このプラグインは gulp-concat に役立ちます。

使用法:

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/'))
});
95
user3995789

たくさんのトリッキーなことを行う代わりに、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')
});
11
Aditya Giri

gulp-concat-util を試してみましょうscripts。 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/'))
});
2
SynCap