1

我想将所有 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 文件,所以我不希望我的构建浪费宝贵的时间来丑化已经缩小的文件。我该怎么做才能只丑化非缩小文件?

4

1 回答 1

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 任务中:

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

希望对其他人有所帮助。

于 2015-11-24T14:44:46.517 回答