Grunt usemin无法将rev'd图像路径插入jade partials

时间:2014-02-15 00:15:23

标签: angularjs gruntjs yeoman build-system grunt-usemin

我正在使用股票yeoman angular-fullstack生成器 - 执行grunt serve:dist时会出现此问题。图像已成功修改,但更新的图像路径不会添加到任何玉视图中。

usemin块:

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

我已经将html目标更改为递归globbing,因为我的大多数jade文件都位于“partials”目录中。但是,一个新的angular-fullstack项目还在partials目录中有jade文件,图像替换工作正常。

文件夹结构 - 源文件:

/app/views/*
/app/images/*
/app/scripts/*
/app/styles/

文件夹结构 - dist文件:

/dist/views/*
/dist/public/images/*
/dist/public/scripts/
/dist/public/styles/

Reving适用于CSS和JS文件,而不是图像。

jade partial中的图像路径示例:

img(src='/images/old_landing/record-landing.png')

如果有任何其他信息有用,请告诉我。

1 个答案:

答案 0 :(得分:6)

我遇到了类似的问题 - 对rev'd图像的引用未能在css中更新。当usemin有dirs时总是习惯工作:对于选项而不是assetsDirs: - 所以猜测可能是一些没有记录的变化。 我不知道这是否适合你 - 但它确实对我有用 - 在usemin中我改变了选项

assetsDirs: ['<%= yeoman.dist %>']

assetsDirs: ['<%= yeoman.dist %>/**/']

或者在你的情况下,更多的目标可能是(猜测!)

assetsDirs: ['<%= yeoman.dist %>/public/**/']