簡體   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