是否有在线工具可以输入页面的HTML源代码并缩小代码?
我会为 aspx 文件这样做,因为让网络服务器 gzip 它们不是一个好主意......
也许尝试HTML Compressor,这是一个前后表,显示了它可以做什么(包括 Stack Overflow 本身):
它具有许多用于优化您的页面的选项,包括脚本最小化(ompressor、Google Closure Compiler、您自己的压缩器),这将是安全的。默认选项集非常保守,因此您可以从它开始并尝试启用更激进的选项。
该项目有很好的文档记录和支持。
不要这样做。或者更确切地说,如果您坚持这样做,请在完成任何更重要的网站优化后进行。这项工作的成本/收益极有可能可以忽略不计,特别是如果您计划手动使用在线工具来处理每个页面。
使用YSlow或Page Speed来确定您真正需要做什么来优化您的页面。我的猜测是减少 HTML 的字节数不会是您网站的最大问题。压缩、缓存管理、图像优化等更有可能对您网站的整体性能产生更大的影响。这些工具将向您展示最大的问题是什么——如果您已经处理了所有问题并且仍然发现 HTML 缩小会产生重大影响,那就去做吧。
(如果您确定要这样做,并且使用 Apache httpd,则可以考虑使用mod_pagespeed并打开一些选项以减少空格等,但要注意风险。)
这是对您问题的简短回答:您应该缩小 HTML、CSS、JS。有一个易于使用的工具,称为grunt。它允许您自动执行许多任务。其中包括JS 、 CSS 、 HTML缩小、文件连接等等。
这里写的答案非常过时,有时甚至没有意义。与旧的 2009 年相比,很多事情发生了变化,所以我将尝试正确回答这个问题。
简短的回答 -你绝对应该缩小 HTML。今天它是微不足道的,并且提供了大约5% 的加速。如需更长的答案,请阅读整个答案
回到过去,人们手动缩小 css/js(通过一些特定的工具运行它来缩小它)。自动化这个过程有点困难,而且肯定需要一些技能。知道即使现在很多高级网站都没有使用 gzip(这是微不足道的),人们不愿意缩小 html 是可以理解的。
那么为什么人们要缩小 js 而不是 html呢?当你缩小 JS 时,你会做以下事情:
var isUserLoggedIn
to var a
)即使在过去,这也带来了很大的改进。但是在 html 中,您无法将长名称简称为短名称,在那段时间也几乎没有什么可评论的。所以唯一剩下的就是删除空格和换行符。这只会带来少量的改进。
这里写的一个错误论点是,因为内容是使用 gzip 提供的,所以缩小没有意义。这是完全错误的。是的,gzip 减少了缩小的改进是有道理的,但是如果你可以正确地修剪它们,为什么要 gzip 注释和空格,并且 gzip 只是重要的部分。这就像您有一个要归档的文件夹,其中包含一些您永远不会使用的废话,并且您决定只压缩它而不是清理和压缩它。
另一个为什么做缩小毫无意义的论点是它很乏味。也许这在 2009 年是正确的,但在此之后出现了新的工具。现在你不需要手动缩小你的标记。对于像Grunt这样的东西,安装grunt-contrib-htmlmin(依赖于@kangax的 HTMLMinifier)并配置它来缩小你的 html 是很简单的。您只需要 2 小时来学习 grunt 并配置所有内容,然后一切都会在不到一秒的时间内自动完成。听起来 1 秒(您甚至可以使用grunt-contrib-watch自动执行任何操作)对于大约 5% 的改进来说并不是那么糟糕(即使使用 gzip)。
还有一个论点是 CSS 和 JS 是静态的,而 HTML 是由服务器生成的,所以你不能预先缩小它。这在 2009 年也是如此,但目前越来越多的网站看起来像一个单页应用程序,其中服务器很薄,客户端负责所有的路由、模板和其他逻辑。所以服务器只给你JSON和客户端呈现它。在这里,您有很多用于页面的 html 和不同的模板。
所以结束我的想法:
我写了一个网络工具来缩小 HTML。 http://prettydiff.com/?m=minify&html
该工具使用以下规则运行:
style
都被假定为 CSS 并被缩小为这样script
都被假定为 JavaScript,除非提供了不同的媒体类型,然后像这样缩小这对我有用:
http://minify.googlecode.com/git/min/lib/Minify/HTML.php
它不是一个已经可用的在线工具,但作为一个简单的 PHP 包含它很容易,您可以自己运行它。
不过,我不会保存压缩文件,如果你真的需要动态地执行此操作,并且启用 Gzip 服务器压缩总是一个更好的主意。我不知道这在 IIS/.Net 中的参与程度如何,但在 PHP 中,它就像在全局包含文件中添加一行一样简单
CodeProject 有一个已发布的示例项目(http://www.codeproject.com/KB/aspnet/AspNetOptimizer.aspx?fid=1528916&df=90&mpp=25&noise=3&sort=Position&view=Quick&select=2794900)来处理以下一些情况。 .
对于 Microsoft .NET 平台,有一个名为WebMarkupMin的库,它可以生成 HTML 代码的缩小。
此外,还有一个模块可以将此库集成到 ASP.NET MVC - WebMarkupMin.Mvc中。
试试http://code.mini-tips.com/html-minifier.html,这是 Html Minifier 的 .NET 库
HtmlCompressor 是一个小型、快速且非常易于使用的 .NET 库,它通过删除额外的空格、注释和其他不需要的字符来缩小给定的 HTML 或 XML 源,而不会破坏内容结构。结果页面变得更小并且加载更快。压缩器的命令行版本也可用。