Chapter 17. Minification and Compression
Once you have your built files validated, concatenated, and baked,
it’s time to make those files as small as possible. This step is
accomplished with two processes: minification and compression. Minification
is the process of eliminating unnecessary white space, removing comments,
and performing some processing on the files to make them as small as
possible. Compression uses a specific compression method, such as
gzip
, to shrink the file even further. The difference
between a minified file and a compressed file is that minified files are
still just plain text and can be edited and loaded as usual (albeit with a
bit of trouble, because all formatting is removed), whereas compressed files
are unreadable and must be decompressed to be usable in a web page. Today’s
browsers automatically decompress any compressed files they receive with a
Content-Encoding: gzip
header in the
response.
Minification
Minifying a JavaScript file isn’t very complicated, but mistakes or invalid syntax can result if you use an unsafe process. For this reason, it’s best to use a minifier that actually parses the JavaScript before making changes. Parsers know what valid syntax is and can more easily create valid syntax. The three most popular parsing minifiers are:
- YUI Compressor
Often credited with popularizing parser-based minifiers instead of the regular expression-based minifiers. YUI Compressor was first written by Julien Lecomte (and is now maintained by the YUI team); ...
Get Maintainable JavaScript now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.