压缩后网页的显示和功能会变吗?
只删除不影响显示和运行的空格、换行和注释。JavaScript 只缩短变量名,并做不改变行为的改写。HTML 的空白合并不作用于 pre、textarea、script、style 内部(打开“同时压缩其中的 <style> 和 <script>”时,script、style 会按 JavaScript、CSS 压缩),元素之间默认保留一个空格。不过,用 CSS 设置了 white-space: pre 等的元素里的空格会被合并。把这些部分放在两个 <!-- htmlmin:ignore --> 之间,就不会被改动。发布前请用压缩后的版本检查显示和功能。
提示有语法错误
会显示错误所在的行号和列号,原来的代码保持不变。请检查该位置附近是否有未闭合的括号、引号,或漏掉的逗号。HTML 中的 <script>、<style> 有错误时,只有该部分不压缩,其余部分照常压缩。不支持 CSS 嵌套(& 写法)和 @media (width >= 600px) 这样的范围写法,压缩会导致规则丢失,所以会作为错误停止。
“gzip 后(估计)”是什么?
大多数服务器会先用 gzip 等方式压缩文件再传输。这个数值接近实际传输的大小:浏览器用 CompressionStream 真的做一次 gzip 压缩并计算字节数。如果服务器使用 Brotli,传输量通常会更小。
是用什么方式压缩的?
使用广泛采用的开源库:JavaScript 用 terser,CSS 用 csso,HTML 用 html-minifier-terser。这些库放在本站,在你的浏览器里运行,代码不会离开你的设备。CSS 设置为不重新排序、不合并规则,以免改变规则的优先顺序。
压缩后的代码能还原吗?
删除的注释、换行和缩短的变量名无法还原。请务必保留原始文件,并在原始文件上修改。想把 JSON 压成一行,可以使用“JSON 格式化”。
最多能处理多大的代码?
可以打开 10MB 以内的文件。代码越大越耗时,几 MB 的 JavaScript 可能需要几秒到十几秒。