GruntJS usemin不查看子文件夹

iam*_*esy 6 angularjs gruntjs grunt-usemin

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

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

dist/
    index.html
    views/
        profile.html
        partials/
            header.html
            ...
Run Code Online (Sandbox Code Playgroud)

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

这是我的咕噜配置:

...
useminPrepare: {
  html: '<%= yeoman.app %>/index.html',
  options: {
    dest: '<%= yeoman.dist %>'
  }
},
usemin: {
  html: ['<%= yeoman.dist %>/{,*/}*.html'],
  css: ['<%= yeoman.dist %>/styles/{,*/}*.css'],
  options: {
    dirs: ['<%= yeoman.dist %>']
  }
},
...
Run Code Online (Sandbox Code Playgroud)

我试过的

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

options: {
    basedir: '<%= yeoman.dist %>',
    dirs: ['<%= yeoman.dist %>/**/*']
}
Run Code Online (Sandbox Code Playgroud)

但它仍然不处理任何视图的子文件夹.

更新

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

usemin: {
  html: ['<%= yeoman.dist %>/{,*/}*.html', '<%= yeoman.dist %>/views/{,*/}*.html'],
  css: ['<%= yeoman.dist %>/styles/{,*/}*.css'],
  options: {
    dirs: ['<%= yeoman.dist %>']
  }
},
Run Code Online (Sandbox Code Playgroud)

jak*_*lla 8

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

usemin: {
    html: ['<%= yeoman.dist %>/**/*.html'],
    ...
}
Run Code Online (Sandbox Code Playgroud)

而且你可能也需要一个expand: true(但不确定usemin任务是否使用该选项).

  • 当然,只需在`html`数组中放入多个引用的模式. (2认同)