2016-04-01 9 views
0

Ich habe minifyCSS Satz zu wahr in meinem Gruntfile.js htmlmin Abschnitt wie folgt:Grunt htmlmin clean-css bricht meinen Lenker Code innerhalb <style></style> Tags

htmlmin: { 
    dist: { 
     options: { 
      removeComments: true, 
      collapseWhitespace: true, 
      minifyJS: true, 
      minifyCSS: true 
... 

Aber leider ist es jetzt Mangeln einig mein Lenker Code, drehen diese:

<style type="text/css"> 
{{#each list}} 
    .aClassWithBgImage{{@index}}{background-image:url({{images.thumbnailBoxImage}})} 
{{/each}} 
</style> 

in diese:

<style type="text/css">{background-image:url({{images.thumbnailBoxImage}})}</style> 

... wenn wirklich das, was ich wollte (erwartete) ist dies:

<style type="text/css">{{#each list}}.aClassWithBgImage{{@index}}{background-image:url({{images.thumbnailBoxImage}})}{{/each}}</style> 

Alle schnellen Lösungen für das? Ansonsten bin ich sicher, kann ich nur anders

meinen Code umstrukturieren

Antwort

0

Mit Hilfe von this answer here habe ich entdeckt, dass es eine ignoreCustomFragments Option innerhalb der html-minifier documentation. Mit ihm können Sie htmlmin sagen zu überspringen versuchen, Ihre {{}} Tags zu komprimieren, wie dies mit dem Code in Ihrem Gruntfile.js:

htmlmin: { 
    ... 
     options: { 
      ignoreCustomFragments: [/<%[\s\S]*?%>/, /<\?[\s\S]*?\?>/, /{{[\s\S]*?}}/], //last item in array is the one for Handlebars. The previous 2 items are the default code tags to be ignored, listed in the documentation 
      ... 

So ist der Schlüssel Teil ist das Hinzufügen des /{{[\s\S]*?}}/ RegEx. (Sie könnten natürlich auch das ganze ignoreCustomFragments Array durch dieses RegEx ersetzen, wenn Sie das wollten.) HINWEIS: Sie möchten vielleicht die geschweiften Klammern '{}' in der RegEx umgehen, aber es scheint ohne zu funktionieren.

UPDATE

Also eigentlich die /{{[\s\S]*?}}/ RegEx scheint ein Leerzeichen „“ in meinem Code zu verlassen ... und wenn ich es /{{.*}}/ ändern, werden die Leerzeichen entfernt, aber einige meiner CSS-Styling wird unkomprimiert ... für den Moment halte ich diese 2 RegExs für eine "halbe Lösung". Ich habe auch versucht, customAttrSurroundas listed in the Wiki zu verwenden, aber ich konnte nicht einmal diesen Code überhaupt in meiner Gruntfile.js arbeiten.