我的gruntfile中有以下内容:
usemin: {
html: ['<%= yeoman.dist %>/**/*.html'],
css: ['<%= yeoman.dist %>/styles/**/*.css'],
js: ['<%= yeoman.dist %>/scripts/**/*.js'],
options: {
assetsDirs: ['<%= yeoman.dist %>','<%= yeoman.dist %>/styles/**/*'],
patterns: {
js: [
[/css:["']styles\/?.*\/(.*\.css)['"]/g, 'revved css resolves']
]
}
}
}
我想要的是什么,给定一个引用了加速的css文件的javascript文件,它会替换该事件。但只是第一次出现。我需要这个全球工作(因此&#39; / g&#39;修饰符。任何线索?
输入文件看起来大致如下:
foo:{includes:{css:"styles/something.css"}},bar:{includes:{css:"styles/something.css"}}
我最终得到的是(假设0123456是来自rev的哈希):
foo:{includes:{css:"styles/0123456.something.css"}},bar:{includes:{css:"styles/something.css"}}
我想要的是:
foo:{includes:{css:"styles/0123456.something.css"}},bar:{includes:{css:"styles/0123456.something.css"}}
感谢。
答案 0 :(得分:2)
我的正则表达式过于贪婪,我通过用/css:"styles\/?[A-Za-z]*\/+([A-Za-z0-9]+\.css)"}/g
替换我的模式来解决这个问题,现在我又回来了。