首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用gulp-usemin更新多个html文件

使用gulp-usemin更新多个html文件
EN

Stack Overflow用户
提问于 2015-02-15 06:06:48
回答 3查看 1.1K关注 0票数 1

我正在使用gulp-usemin,当我只更新一个html文件时,它似乎工作得很好,但是当我试图让它更新多个html文件时,它崩溃了。这是我现在的任务。注意,我已经复制了代码,一次用于login.html文件,另一次用于index.html文件。我想要做的就是传入一个像gulp.src([_appdir + '/login.html', _appdir + '/index.html'], {base: _appdir})这样的数组,但这似乎是我的任务炸弹。甚至尝试使用*.html,我也遇到了同样的问题。

代码语言:javascript
复制
gulp.task('usemin', ['browserify', 'sass'], function() {
  gulp.src([_appdir + '/images/**/*'], {base: _appdir})
    .pipe(gulp.dest(_publicdir));

  gulp.src([_appdir + '/login.html'], {base: _appdir})
    .pipe(usemin({
      css: [minifyCss({keepSpecialComments: 0}), 'concat', rev()],
      html: [gulpif(argv.production, minifyHtml({conditionals: true, quotes: true}))],
      jsOldIE: [uglify(), rev()],
      jsVendor: [uglify(), rev()],
      jsBundle: [
        gulpif(argv.production, rev()),
        gulpif(argv.production, uglify()),
        gulpif(argv.production, rename({suffix: '.min'}))
      ]
    }))
    .pipe(gulp.dest(_publicdir));

  return gulp.src([_appdir + '/index.html'], {base: _appdir})
    .pipe(usemin({
      css: [minifyCss({keepSpecialComments: 0}), 'concat', rev()],
      html: [gulpif(argv.production, minifyHtml({conditionals: true, quotes: true}))],
      jsOldIE: [uglify(), rev()],
      jsVendor: [uglify(), rev()],
      jsBundle: [
        gulpif(argv.production, rev()),
        gulpif(argv.production, uglify()),
        gulpif(argv.production, rename({suffix: '.min'}))
      ]
    }))
    .pipe(gulp.dest(_publicdir));
});
EN

回答 3

Stack Overflow用户

发布于 2015-03-03 04:11:14

gulp-usemin目前有一个错误,它阻止你使用相同名称的多个<!-- build:name ... -->注释。如果在同一文件中有两个<!-- build:css ... -->部分,这也会触发错误。

我最终改用了useref,我甚至不需要改变我的HTML。

票数 2
EN

Stack Overflow用户

发布于 2015-12-23 22:02:56

这个问题很老了,但这个问题很常见,网上很多人都在寻找解决方案,在谷歌搜索结果的顶部没有明确的解决方案。我是新手,很抱歉给您带来不便。

对于没有参数的简单函数,只需删除括号即可:

代码语言:javascript
复制
jsOldIE: [uglify, rev],

如果需要参数,则创建匿名函数

代码语言:javascript
复制
css: [
    function() { return minifyCss({keepSpecialComments: 0}); }, 
    'concat', rev],
票数 0
EN

Stack Overflow用户

发布于 2016-09-01 22:37:44

您需要使用gulp-foreach

代码语言:javascript
复制
gulp.task('usemin', ['browserify', 'sass'], function() {
  gulp.src([_appdir + '/images/**/*'], {base: _appdir})
    .pipe(gulp.dest(_publicdir));

  return gulp.src([_appdir + '/login.html', _appdir + '/index.html'], {base: _appdir})
    .pipe(foreach(function (stream, file) {

      return stream.pipe(usemin({
        css: [minifyCss({keepSpecialComments: 0}), 'concat', rev()],
        html: [gulpif(argv.production, minifyHtml({conditionals: true, quotes: true}))],
        jsOldIE: [uglify(), rev()],
        jsVendor: [uglify(), rev()],
        jsBundle: [
          gulpif(argv.production, rev()),
          gulpif(argv.production, uglify()),
          gulpif(argv.production, rename({suffix: '.min'}))
        ]
      }))
      .pipe(gulp.dest(_publicdir));
    }))
})
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28520840

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档