Grunt-usemin with pattern只替换第一个匹配



我的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文件引用一个revved 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"}}

谢谢。

我的正则表达式太贪婪了,我通过用/css:"styles/?[A-Za-z]*/+([A-Za-z0-9]+.css)"}/g替换我的模式来修复这个问题,现在我又开始工作了

相关内容

  • 没有找到相关文章

最新更新