English 中文(简体)
HTML缩小?(关闭)
原标题:
  • 时间:2009-04-08 02:10:28
  •  标签:

问题要求我们< b >推荐或找到一个工具,库或最喜欢的线下资源< / b >八卦堆栈溢出,因为他们倾向于吸引自以为是的答案和垃圾邮件。相反,< a href = " http://meta.stackoverflow.com/q/254394/ " > < / >描述问题,到目前为止已经完成来解决这个问题。

Closed 8 years ago.

This question s answers are a community effort. Edit existing answers to improve this post. It is not currently accepting new answers or interactions.

有一个在线工具,我们可以输入< a href = " http://en.wikipedia.org/wiki/HTML " rel = " noreferrer " > < / > HTML页面的来源,使代码?

aspx文件我会这样做,因为它不是一个好主意使网络服务器gzip他们…

问题回答

也许试着< a href = " http://code.google.com/p/htmlcompressor/ " rel = " noreferrer " > HTML压缩机< / >,这年代前后表显示它能做什么(包括堆栈溢出本身):

< img src = " https://i.stack.imgur.com/P4vN0.png " alt = "对不起,减价没有表的概念”/ >

它功能很多选择优化页面包括脚本最小化(ompressor,谷歌关闭编译器,您自己的压缩机),它是安全的。默认选项设置是相当保守的,所以你可以开始和试验使更激进的选择。

这个项目是非常好记录和支持。

< a href = " http://en.wikipedia.org/wiki/Optimization_%28computer_science%29 When_to_optimize”rel = " noreferrer " >别做这个< / >。或者说,如果你坚持它,做任何更重要的网站优化后完成。几率非常高,这种努力是可以忽略不计的成本/收益,尤其是< em > < / em >如果你是打算手动使用在线工具来处理每个页面。

使用< a href = " http://developer.yahoo.com/yslow/ " rel = " noreferrer " > YSlow < / >或< a href = " http://code.google.com/speed/page-speed/ " rel = " noreferrer " > < / >页面速度来确定你真的< em > < / em >需要做优化页面。我的猜测是,减少字节的HTML网站不会年代最大的问题。它更有可能,压缩,缓存管理、图像优化等将产生更大的影响你的网站整体的性能。这些工具将显示你最大的问题是什么——如果你已经处理它们,仍然发现HTML缩小显著差异,就去做吧。

(如果你确定你想去,你使用Apache httpd,你可能会考虑使用< a href = " http://code.google.com/p/page-speed/wiki/MinifyHtml " rel = " noreferrer " > mod_pagespeed这个< / >和打开的一些选项来减少空格,等等,但要注意< a href = " http://code.google.com/p/page-speed/wiki/MinifyHtml " rel = " noreferrer " > < / >的风险。)

这是一个简短的回答你的问题:<强>你应该贬低你的HTML, CSS, JS < /强>。有一个易于使用的工具,叫做< a href = " http://gruntjs.com/ " >繁重< / >。它允许您很多任务自动化。其中< a href = " https://github.com/gruntjs/grunt-contrib-uglify " > JS < / >、< a href = " https://github.com/gruntjs/grunt-contrib-cssmin " > CSS < / >, < a href = " https://github.com/gruntjs/grunt-contrib-htmlmin " > HTML < / >缩小,< a href = " https://github.com/gruntjs/grunt-contrib-concat " >文件连接< / >和< a href = " https://github.com/gruntjs/grunt-contrib " >其他> < /。

答案写在这里非常过时,甚至有时候没有意义。很多事情改变了从旧2009,所以我将试着回答正确。

简短的回答——<强>你一定要贬低HTML < /强>。今天是微不足道的,给约< a href = " https://code.google.com/p/htmlcompressor/ " > < / > 5%的加速效果。时间回答阅读全部答案

回到以前人手动minifying css / js(通过运行它通过一些特定的工具贬低它)。是很难自动化进程,肯定需要一些技巧。知道现在很多高水平网站甚至不使用gzip(简单的),这是可以理解的,人们不愿在缩减html。

<强>为什么人缩减js,但不是html > < /强大?当你贬低JS,你做以下事情:

  • remove comments
  • remove blanks (tabs, spaces, newlines)
  • change long names to short (var isUserLoggedIn to var a)

这给很多改进甚至在以前。但在html中你无法改变长名字短,也几乎没有置评。唯一剩下的就是删除空格和换行。使只有少量的改进。

<强>写一个错误的论点是,因为内容是gzip,缩小没有意义。< / >强这是完全错误的。是的,gzip减少微小的改进是有道理的,但是你为什么要gzip评论,空白如果你能适当地修剪,gzip唯一的重要组成部分。它是一样的如果你有一个文件夹来归档一些废话,你永远不会使用,你决定就邮政而不是清理和邮政编码。

<强>为什么它没有意义的缩小的另一个论点是,它是乏味的。< /强> 2009年也许这是真的,但这次新工具出现后。现在你不需要手动贬低你的标记。与诸如< a href = " http://gruntjs.com/ " >繁重< / >是微不足道的安装< a href = " https://github.com/gruntjs/grunt-contrib-htmlmin " > grunt-contrib-htmlmin < / >(依赖于< a href = " http://kangax.github。io / html-minifier / " > HTMLMinifier由@kangax < / >)和配置它来贬低你的html。所有你需要的是2个小时学习繁重和配置,然后一切的一切都是自动完成在不到一秒。声音1秒(你甚至可以什么都不做自动化与< a href = " https://github.com/gruntjs/grunt-contrib-watch " > grunt-contrib-watch < / >)不是真的那么糟糕(即使gzip)大约有5%的改进。

<强>一个观点是,CSS和JS是静态的< / >强,和HTML服务器生成的所以你不能pre-minify它。2009年也是如此,但目前< a href = " https://twitter.com/ " > < / >和< a href = " https://www.facebook.com/ " > < / >网站多是看起来像一个页面应用程序,服务器是薄和客户做所有的路由、模板和其他逻辑。所以服务器只给你< a href = " http://www.json.org/ " > JSON < / >和客户端呈现它。这里有很多不同的html页面和模板。

为了完成我的想法:

  • google is minifying html.
  • pageSpeed is asking your to minify html
  • it is trivial to do
  • it gives ~5% of improvement
  • it is not the same as gzip

我写了一个web工具来贬低HTML。< a href = " http://prettydiff.com/?m = minify&html noreferrer“rel = > http://prettydiff.com/?m=minify&html < / >

This tool operates using these rules:

  • All HTML comments are removed
  • Runs of white space characters are converted to single space characters
  • Unnecessary white space characters inside tags are removed
  • White space characters between two tags where one of these two tags is not a singleton is removed
  • All content inside a style tag is presumed to be CSS and is minified as such
  • All content inside a script tag is presumed to be JavaScript, unless provided a different media type, and then minified as such
    • The CSS and JavaScript minification uses a heavily forked form of JSMin. This fork is extended to support CSS natively and also support SCSS syntax. Automatic semicolon insertion is supported for JavaScript minification, however automatic curly brace insertion is not yet supported.

    这工作对我来说:

    < a href = " http://minify.googlecode.com/git/min/lib/Minify/HTML.php " rel = " nofollow noreferrer " > http://minify.googlecode.com/git/min/lib/Minify/HTML.php < / >

    这年代不是一个可用的在线工具,但作为一个简单的PHP包括年代简单你可以运行它自己。

    I would not save compressed files though, do this dynamically if you really have to, and it s always a better idea to enable Gzip server compression. I don t know how involved that is in IIS/.Net, but in PHP it s as trivial as adding one line to the global include file

    CodeProject上有一个示例项目发表(< a href = " http://www.codeproject.com/KB/aspnet/AspNetOptimizer.aspx?fid = 1528916 df = 90 mpp = 25及噪音= 3类=定位视图=快速选择= 2794900 " rel = " http://www.codeproject.com/KB/aspnet/AspNetOptimizer.aspx?fid=1528916&df=90&mpp=25&noise=3&sort=Position&view=Quick&select=2794900 noreferrer " > < / >)处理后的一些情况……

    • Combining ScriptResource.axd calls into a single call
    • Compress all client side scripts based on the browser capability including gzip/deflate
    • A ScriptMinifier to remove comments, indentations, and line breaks.
    • An HTML compressor to compress all html markup based on the browser capability including gzip/deflate.
    • And - most importantly - an HTML Minifier to write complete html into single line and minify it at possible level (under construction).

    对于Microsoft . net平台有一个图书馆称为< a href = " http://webmarkupmin.codeplex.com " rel =“nofollow”> WebMarkupMin < / >,产生HTML代码的缩小。

    此外,这个库有一个模块集成到ASP。净MVC - < a href = " http://nuget.org/packages/WebMarkupMin.Mvc " rel =“nofollow”> WebMarkupMin.Mvc < / >。

    试着< a href = " http://code.mini-tips.com/html-minifier.html " rel =“nofollow”> http://code.mini-tips.com/html-minifier.html < / >,这是Html . net图书馆缩小镜

    HtmlCompressor是一种小型、快速、很容易使用。net库,贬低HTML或XML源通过删除多余的空格,评论和其他不必要的字符在不破坏结构的内容。结果页面变得更小的规模和加载速度更快。一个命令行版本的压缩机也可以。





    相关问题
    热门标签