Заставить gulp-usemin выводить только не минифицированные файлы

Я хотел бы иметь весь Javascript в одном scripts.js файлы. Вот часть моего index.html:

<!-- build:inlinejs js/scripts.js -->
<script src="bower_components/jquery/dist/jquery.min.js"></script>
<script src="bower_components/moment/min/moment.min.js"></script>
<script src="bower_components/moment/locale/de.js"></script>
<script src="bower_components/bootstrap/dist/js/bootstrap.min.js"></script>
<script src="bower_components/eonasdan-bootstrap-datetimepicker/build/js/bootstrap-datetimepicker.min.js"></script>
<script src="js/main.js"></script>
<!-- endbuild -->

Моя текущая конфигурация Gulp выглядит следующим образом:

gulp.task('usemin', function () {
  return gulp.src('./*.html')
      .pipe(usemin({
        css: [minifyCss(), 'concat'],
        html: [minifyHtml({empty: true})],
        js: [uglify(), rev()],
        inlinejs: [uglify()],
        inlinecss: [minifyCss(), 'concat'],
        inline: ['concat']
      }))
      .pipe(gulp.dest('dist/'));
});

Как вы можете видеть, уже есть много уменьшенных файлов Javascript, поэтому я не хочу, чтобы моя сборка тратила драгоценное время на уничтожение уже уменьшенных файлов. Как я могу сделать, чтобы убрать только не минимизированные файлы?

1 ответ

Решение

Я знаю, что об этом уже спрашивали, но у меня была та же проблема, и я нашел решение.

В вашем HTML вы можете дать имена для блоков сборки:

<!-- build:jsLibs js/libs.js -->
<script src="bower_components/jquery/dist/jquery.min.js"></script>
<!-- endbuild -->

<!-- build:jsApp js/app.js -->
<script src="js/main.js"></script>
<!-- endbuild -->

И в глотке:

gulp.task('usemin', function () {
    return gulp.src('./*.html')
        .pipe(usemin({
            ...
            jsLibs: ['concat'],
            jsApp: [uglify, rev]
      }))
      .pipe(gulp.dest('dist/'));
});

Надеюсь, что это помогает кому-то еще.

Другие вопросы по тегам