我的 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']
]
}
}
}
这就是我想要的,给定一个引用了 revved css 文件的 javascript 文件,它会替换出现的事件。但只是第一次出现。我需要它在全局范围内工作(因此需要“/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"}}
谢谢。
最佳答案
我的正则表达式太贪心了,我通过用 /css:"styles\/?[A-Za-z]*\/+([A-Za-z0-9] +\.css)"}/g
现在我又回来了。
关于javascript - 带有模式的 grunt-usemin 仅替换第一个匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24556775/