GruntJS usemin不查看子文件夹

时间:2013-12-31 15:25:50

标签: angularjs gruntjs grunt-usemin

我在我的angularjs项目中使用grunt和usemin。具体来说,我的问题是usemin没有在视图子目录中的任何* .html文件中加速图像标记。

我的.html文件采用以下结构

dist/
    index.html
    views/
        profile.html
        partials/
            header.html
            ...

grunt usemin:html任务正在处理views /中的所有内容,但不在其任何子文件夹中。即。泛音/ *

这是我的咕噜声配置:

...
useminPrepare: {
  html: '<%= yeoman.app %>/index.html',
  options: {
    dest: '<%= yeoman.dist %>'
  }
},
usemin: {
  html: ['<%= yeoman.dist %>/{,*/}*.html'],
  css: ['<%= yeoman.dist %>/styles/{,*/}*.css'],
  options: {
    dirs: ['<%= yeoman.dist %>']
  }
},
...

我尝试过什么

我尝试将这些选项添加到我的usemin配置中:

options: {
    basedir: '<%= yeoman.dist %>',
    dirs: ['<%= yeoman.dist %>/**/*']
}

但它仍然没有处理任何视图的子文件夹。

更新

感谢jakerella回答noa的评论,我得到了以下工作:

usemin: {
  html: ['<%= yeoman.dist %>/{,*/}*.html', '<%= yeoman.dist %>/views/{,*/}*.html'],
  css: ['<%= yeoman.dist %>/styles/{,*/}*.css'],
  options: {
    dirs: ['<%= yeoman.dist %>']
  }
},

1 个答案:

答案 0 :(得分:8)

我认为你很接近,但我认为你会想要在**任务的html目标中使用usemin glob模式:

usemin: {
    html: ['<%= yeoman.dist %>/**/*.html'],
    ...
}

您可能还需要expand: true(但不确定usemin任务是否使用该选项。)