6

我在我的 angularjs 项目中使用 grunt 和 usemin。具体来说,我的问题与usemin不在视图子目录中的任何 *.html 文件中的图像标签有关。

我的 .html 文件的结构如下

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

grunt usemin:html任务正在处理视图中的所有内容/但不在其任何子文件夹中。IE。部分/*

这是我的咕噜声配置:

...
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 %>']
  }
},
4

1 回答 1

8

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

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

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

于 2013-12-31T15:52:12.403 回答