Gruntjs 格朗特(约曼、格朗特·乌斯明、格朗特·雷夫):即;修订版';教育署;字体路径为';没有反映在我的.CSS中?

Gruntjs 格朗特(约曼、格朗特·乌斯明、格朗特·雷夫):即;修订版';教育署;字体路径为';没有反映在我的.CSS中?,gruntjs,yeoman,grunt-usemin,Gruntjs,Yeoman,Grunt Usemin,背景 我正在使用Yeoman webapp搭建我的前端。 在GrunFile中,他们使用grunt rev和grunt usemin Grunt rev将“rev'ed”我的资产,Grunt usemin将更新资产路径 问题 我有一个我正在使用的webfont。我将fonts文件夹放在了我的styles目录中,正如GrunFile.js('styles/fonts/{,/}.*.')中提到的那样。Grunt服务正确地显示了我的字体,但是在我构建文件后,它不再工作,因为字体文件名的前缀中有一些奇

背景

我正在使用Yeoman webapp搭建我的前端。 在GrunFile中,他们使用grunt rev和grunt usemin

Grunt rev将“rev'ed”我的资产,Grunt usemin将更新资产路径


问题

我有一个我正在使用的webfont。我将fonts文件夹放在了我的styles目录中,正如GrunFile.js('styles/fonts/{,/}.*.')中提到的那样。Grunt服务正确地显示了我的字体,但是在我构建文件后,它不再工作,因为字体文件名的前缀中有一些奇怪的乱码字符。例如:63b122ab.fontname.ttf而不是fontname.ttf

这是用来破坏缓存的。 但是我的.css文件没有更新路径来获取它

在gruntfile.js中的我的usemin块中

我该怎么办?我目前有这个,但它不工作

usemin: {
  options: {
    assetsDirs: ['<%= config.dist %>', '<%= config.dist %>/images', '<%= config.dist %>/styles/fonts']
  },
  html: ['<%= config.dist %>/{,/}.html'],
  css: ['<%= config.dist %>/styles/{,/}.css']
},
usemin:{
选项:{
assetsDirs:['','/images','/style/font']
},
html:['/{,/}.html'],
css:['/styles/{,/}.css']
},

除了字体之外,它还收集了其他所有内容。我手动创建了字体文件夹。所以我猜Grunfile.js必须更新以反映更改。

我在css文件中遇到了grunt的同样问题。我在Gruntfile.js中更改了usemin配置,如下所示:

usemin: {
  html: ['<%= yeoman.dist %>/<%= yeoman.client %>/{,!(bower_components)/**/}*.html'],
  css: ['<%= yeoman.dist %>/<%= yeoman.client %>/!(bower_components){,*/}*.css'],
  js: ['<%= yeoman.dist %>/<%= yeoman.client %>/!(bower_components){,*/}*.js'],
  options: {
    assetsDirs: [
      '<%= yeoman.dist %>/<%= yeoman.client %>',
      '<%= yeoman.dist %>/<%= yeoman.client %>/assets/images'
    ],
    // This is so we update image and font references in our ng-templates
    patterns: {
      js: [
        [/(assets\/images\/.*?\.(?:gif|jpeg|jpg|png|webp|svg))/gm, 'Update the JS to reference our revved images']
      ],
      css: [
        [/(assets\/images\/.*?\.(?:gif|jpeg|jpg|png|webp|svg))/gm, 'Update the CSS to reference our revved images'],
        [/(assets\/fonts\/.*?\.(?:woff|ttf|svg|eot))/gm, 'Update the CSS to reference our revved fonts']
      ]
    }
  }
}
usemin:{
html:['/{,!(bower_组件)/**/}*.html'],
css:['/!(鲍尔_组件){,*/}*.css'],
js:['/!(bower_组件){,*/}*.js'],
选项:{
资产目录:[
'/',
“//资产/图像”
],
//这就是我们在ng模板中更新图像和字体引用的原因
模式:{
js:[
[/(assets\/images\/.*。(?:gif | jpeg | jpg | png | webp | svg))/gm,“更新JS以引用我们的快速图像”]
],
css:[
[/(assets\/images\/.*。(?:gif | jpeg | jpg | png | webp | svg))/gm,“更新CSS以引用我们的快速图像”,
[/(assets\/fonts\/.*。(?:woff | ttf | svg | eot))/gm,“更新CSS以引用我们改进的字体”]
]
}
}
}

你找到这个了吗?我也面临同样的问题。@Lowkase获得通过的唯一方法就是取消注释grunt rev中字体的修订行。修订所有内容,但不包括字体。我也有这个问题。在
filerev->dist->srv
对象中删除
'/styles/font/*'
会有所帮助,但这不是我想要的。这方面还有其他想法吗?我正在使用sass字体帮助程序
字体url
,但这也没有帮助。@23tux我在github上记录了一个帮助。据说问题已经解决了,他们关闭了漏洞。所以,也许可以尝试更新到最新的yeoman,然后再试一次?有人找到了这个问题的解决方案吗?