繁体   English   中英

模式的grunt-usemin仅替换第一个匹配项

[英]grunt-usemin with pattern is only replacing the first match

我的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"}}

谢谢。

我的正则表达式太贪心了,我通过用/ /css:"styles\\/?[A-Za-z]*\\/+([A-Za-z0-9]+\\.css)"}/g替换我的模式来解决此问题: /css:"styles\\/?[A-Za-z]*\\/+([A-Za-z0-9]+\\.css)"}/g ,现在我恢复了业务。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM