【问题标题】:GruntJS usemin doesn't look in subfoldersGruntJS usemin 不在子文件夹中查找
【发布时间】:2013-12-31 15:25:49
【问题描述】:

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

我的 .html 文件结构如下

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

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

这是我的 grunt 配置:

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

【问题讨论】:

    标签: angularjs gruntjs grunt-usemin


    【解决方案1】:

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

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

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

    【讨论】:

    • 感谢您现在就尝试。似乎正在处理dist 文件夹中的所有内容。 IE。我的components 目录中的东西也是如此。可以将其更改为 views 中的任何内容吗?
    • 实际上我只需要dist 的index.html 以及dist/views 中的所有内容
    • 当然,只需在 html 数组中添加多个引用模式即可。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多