CSS/JS/Jquery 中的白色 spaces 消耗 space 吗?

Does white spaces in CSS/JS/Jquery consumes space?

我在一些网站和 here 上也看到 jquery.jsjquery.min.js 在功能上是相同的,但是 .min 删除了所有不必要的字符以便使文件大小更小。我还在某处读到,无论是在缩小 CSS 还是在缩小 JS 中,所有的空格都被删除,以使其更小。

所以我的问题来了

"Does white spaces in CSS/JS/Jquery or any other programming language or markup language consumes space?"

如果我正在编写自定义 CSS 或 JS,那么我怎样才能将其缩小?有什么工具吗?

是的,白色space确实占了space。删除或压缩代码有时可以产生高达 95% 的压缩率,这意味着它将加载得更快。

那里有很多工具。如果您正在寻找非常简单的东西来测试它,我建议您尝试在线资源,例如:

http://refresh-sf.com/

这是一个用于压缩 JavaScript 或 CSS 的网络界面。此工具使用 UglifyJS 2、Clean-CSS 和 HTML Minifier。

理想情况下,如果您正在使用某种现代工具流程,例如 Grunt 或 Gulp,您可以将压缩自动化作为构建流程的一部分。

Google 最近发布了他们的版本:

https://developers.google.com/speed/docs/insights/MinifyResources

You should minify your HTML, CSS, and JavaScript resources. For minifying HTML, you can use PageSpeed Insights Chrome Extension to generate an optimized version of your HTML code. Run the analysis against your HTML page and browse to the 'Minify HTML' rule. Click on 'See optimized content' to get the optimized HTML code. For minifying CSS, you can try YUI Compressor and cssmin.js. For minifying JavaScript, try the Closure Compiler, JSMin or the YUI Compressor. You can create a build process that uses these tools to minify and rename the development files and save them to a production directory.

这里是 link 到 Google 的 "Getting Started with the Closure Compiler Application",将介绍如何压缩文件:

https://developers.google.com/closure/compiler/docs/gettingstarted_app

是的!

  1. 函数中的变量截断了一个字符。
  2. 替换\n -> "_"(space)
  3. 替换“__”(2space) -> “_”(space)

而且,你甚至可以写一行=)

缩小是删除代码 运行.

所需的所有白色 space、注释、换行符和任何其他非必需字符的过程

与文件串联(将多个源代码文件合并为一个文件,限制 HTTP 请求)一起使用时,压缩可以为您带来更高的性能回报。

如果您 运行 通过 Google 进行查询,例如 javascript minify or css minify,您会发现大量工具可以自动执行这些过程。

这有点取决于您所说的 "consumes space." 是的,空格作为一系列字符存储在文件中,因此它会稍微增加文件大小。删除该空格可以减少必须传输给用户的数据量。未缩小的 JQuery 为 242kb,而缩小版本为 82kb(这还包括用一个或两个字符的变量名替换人性化的变量名,而不仅仅是减少空格)。

但是,在绝大多数情况下,您的网络服务器会对它发送的数据进行 gzip 压缩,然后由浏览器静默解压缩。压缩后,Jquery 只有 72kb; gzipped 和缩小,它是 29kb。 gzipping 响应显着降低了缩小的好处。