Gruntjs 如何防止usemin覆盖原始index.html文件

Gruntjs 如何防止usemin覆盖原始index.html文件,gruntjs,grunt-usemin,Gruntjs,Grunt Usemin,我正在使用usemin,我通常喜欢它,但我真的不喜欢usemin覆盖了我原来的index.html文件。我的GrunFile中有一个非常典型的设置: useminPrepare: { html: '<%= yeoman.app %>/index.html', options: { root: '<%= yeoman.root %>', staging: '<%= yeoman.tmp %>', dest: '<%= yeo

我正在使用usemin,我通常喜欢它,但我真的不喜欢usemin覆盖了我原来的index.html文件。我的GrunFile中有一个非常典型的设置:

useminPrepare: {
  html: '<%= yeoman.app %>/index.html',
  options: {
    root: '<%= yeoman.root %>',
    staging: '<%= yeoman.tmp %>',
    dest: '<%= yeoman.dist %>',
    flow: {
      html: {
        steps: {
          js: ['concat', 'uglifyjs'],
          css: ['cssmin']
        },
        post: {}
      }
    }
  }
},

只是不要执行filerev任务。这是修改原始html文件的任务。

您能在这里粘贴包含useminPrepare的grunt任务吗?对不起,我单击错误。file rev任务获取类似foo.bar的文件,并将其转换为foo.59bcc3ad.bar。这对原始文件没有影响。据我所知,我所面临的问题是,当与bower结合使用时,usemin任务将尝试在grunt构建期间“注入”bower组件。即使由于我的设置方式,文件最终并没有改变。但是,这会弄乱我对该文件的版本控制。@lostdorje哦,很抱歉回答错误。您说过在构建过程中“注入”bower组件的引用,正如我所知,这就是wiredep的功能。因此,请签出它的文档,以便正确使用。
staging: '<%= yeoman.tmp %>'
// Performs rewrites based on filerev and the useminPrepare configuration
usemin: {
  html: ['<%= yeoman.dist %>/{,*/}*.html'],
  css: ['<%= yeoman.dist %>/styles/{,*/}*.css'],
  options: {
    assetsDirs: ['<%= yeoman.dist %>','<%= yeoman.dist %>/images']
  }
},
grunt.registerTask('build', [
  'clean:dist',
  'wiredep',
  'useminPrepare',
  'concurrent:dist',
  'autoprefixer',
  'concat',
  'ngAnnotate',
  'copy:dist',
  'cdnify',
  'cssmin',
  'uglify',
  'filerev',
  'usemin',
  'htmlmin',
  'bridge:dist'
]);