我的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']
]
}
}
}这就是我想要的,如果一个javascript文件引用了一个改版的css文件,它会替换掉出现的内容。但只出现了第一次。我需要它在全局范围内工作(因此使用'/g‘修饰符。有什么线索吗?
输入是一个大致如下的文件:
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"}}谢谢。
发布于 2014-07-03 23:39:39
我的正则表达式太贪婪了,我用/css:"styles\/?[A-Za-z]*\/+([A-Za-z0-9]+\.css)"}/g替换了我的模式,解决了这个问题,现在我又开始工作了。
https://stackoverflow.com/questions/24556775
复制相似问题