当我grunt build
我的AngularJS应用grunt-rev
处理字体时出现问题。它会创建很好的字体文件夹,但不会在其中放置任何字体。这是它给我看的内容。
Running "rev:dist" (rev) task
dist/scripts/scripts.js >> a3e641ec.scripts.js
dist/styles/main.css >> 970b8797.main.css
Warning: Unable to read "dist/fonts/Aller" file (Error code: EISDIR). Use --force to continue.
grunt-rev
中的 Gruntfile.js
rev: {
dist: {
files: {
src: [
'<%= yeoman.dist %>/scripts/{,*/}*.js',
'<%= yeoman.dist %>/styles/{,*/}*.css',
'<%= yeoman.dist %>/images/{,*/}*.{png,jpg,jpeg,gif,webp,svg}',
'<%= yeoman.dist %>/styles/fonts/*'
]
}
}
}
如何解决这个问题?
答案 0 :(得分:14)
我终于通过使用双星号**
方法以递归方式匹配所有子目录来解决此问题。我不知道为什么我的原始 Gruntfile.js 中没有使用该方法。相反,它使用的{,*/}*
由于某种原因没有递归行为。所以这是我的 Gruntfile.js中的新rev
对象
rev: {
dist: {
files: {
src: [
'<%= yeoman.dist %>/scripts/**/*.js',
'<%= yeoman.dist %>/styles/**/*.css',
'<%= yeoman.dist %>/images/**/*.{png,jpg,jpeg,gif,webp,svg}',
'<%= yeoman.dist %>/fonts/**/*.ttf'
]
}
}
},
答案 1 :(得分:1)
我遇到了同样的问题。 They have a bug about it in version 0.1.0
解决方法是指定文件扩展名。
在:
rev: {
dist: {
files: [{
expand: true,
cwd: '<%= config.dist %>/',
src: [
'images/**/*'
]
}]
}
}
后:
rev: {
dist: {
files: [{
expand: true,
cwd: '<%= config.dist %>/',
src: [
'images/**/*.{gif,jpeg,jpg,png}'
]
}]
}
}