4

JS ファイルを gulp で連結して醜くしたい。その後、jquery、bootstrap などを含むベンダー フォルダーと結果をやり取りしたいと考えています。

js コードを醜くした後、vendor フォルダからファイルを連結するにはどうすればよいですか?

これが私の現在のgulpファイルです:

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

gulp.task('scripts', function() {
  gulp.src([
          './src/resources/assets/js/**/*.js',
          '!./src/resources/assets/js/vendor/**/*.js'
      ])
    .pipe(concat('main.js'))
    .pipe(uglify())
    .pipe(gulp.dest('./public/js/'));
});

gulp.task('default', ['scripts'], function() {
});
4

1 に答える 1

7

私があなたの質問を正しく理解していれば、js.files をライブラリと連結したいのですが、独自の js の連結バージョンを保持しますか?

私はそうします、あなたは両方のファイルを保持することができます:

var runSequence = require('run-sequence');

gulp.task('myJs', function() {
  gulp.src([
          './src/resources/assets/js/**/*.js',
          '!./src/resources/assets/js/vendor/**/*.js'
      ])
    .pipe(concat('myJs.js'))
    .pipe(uglify())
    .pipe(gulp.dest('./public/js/'));
});

gulp.task('allJs', function() {
    gulp.src([
          './src/resources/assets/js/vendor/**/*.js',
          './public/js/myJs.js'
      ])
    .pipe(concat('allJs.js'))
    .pipe(uglify())
    .pipe(gulp.dest('./public/js/'));
})


gulp.task('default', function() {
  runSequence('myJs',
              'allJs',
              );
});

または、ファイルを 1 つだけ保持します。

var merge = require('merge2');

gulp.task('scripts', function() {
    // Get your js
    var myJs = gulp.src([
        src + 'my/*.js',
        src + '!not/my/*.js'])

    // Get vendor js
    var vendorJs = gulp.src(src + 'not/my/*.js')

    return merge(myJs, vendorJs)
        .pipe(concat('main.js'))
        .pipe(uglify())
        .pipe(gulp.dest(dest));
});
于 2015-06-24T19:52:24.407 に答える