Maven minify 正在从 CSS 中的 url 字符串中去除空格

问题描述 投票:0回答:1

我们正在使用 minify-maven-plugin 来最小化我们的 Javascript 和 CSS 文件。最近我们遇到一个错误,它从 URL 字符串中去除空格,导致其无法使用。这是插件使用的配置。

<plugin>
    <groupId>com.samaxes.maven</groupId>
    <artifactId>minify-maven-plugin</artifactId>
    <executions>
        <execution>
            <id>default-minify</id>
            <configuration>
                <jsEngine>CLOSURE</jsEngine>
                <skipMerge>true</skipMerge>
                <nosuffix>true</nosuffix>
                <webappSourceDir>${basedir}/src/main/webapp</webappSourceDir>
                <cssSourceDir>css</cssSourceDir>
                <cssSourceFiles>
                    <cssSourceFile>global.css</cssSourceFile>
                </cssSourceFiles>
                <jsSourceDir>javascript</jsSourceDir>
                <jsSourceFiles>
                    <jsSourceFile>root.js</jsSourceFile>
                    <jsSourceFile>global.js</jsSourceFile>
                </jsSourceFiles>
            </configuration>
            <goals>
                <goal>minify</goal>
            </goals>
        </execution>
    </executions>
</plugin>

这是受影响的代码行:

        background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3e%3ccircle cx='50%25' cy='50%25' r='4' fill='%23EA7200'/%3e%3c/svg%3e");

这是运行 minify 后的样子:

        background-image: url("data:image/svg+xml,%3csvgxmlns='http://www.w3.org/2000/svg'viewBox='001414'%3e%3ccirclecx='50%25'cy='50%25'r='4'fill='%23EA7200'/%3e%3c/svg%3e")

有关如何防止它剥离空白(而不缩小空白)或是否有可用于解决问题的字符的任何帮助。

css maven whitespace yui
1个回答
0
投票

我能够通过验证我的 svg 然后重新编码来解决这个问题,以便所有空白都得到正确编码(base64 编码是另一种选择,但我选择使用 URI 编码用于脚本编写)

data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%3E%3Ccircle%20cx%3D'50%25'%20cy%3D'50%25'%20r%3D'4'%20fill%3D'blue'%20%2F%3E%3C%2Fsvg%3E
© www.soinside.com 2019 - 2024. All rights reserved.