Optimizing JavaScript
Here, we will replace the Bootstrap plugins in our plugins.js
file with only the specific Bootstrap plugins we need. Then, we'll compress the file.
Open
js/plugins.js
.Remove the block of code belonging to
bootstrap.min.js
.In our
js/bootstrap
folder, recall that we've kept the Bootstrap plugins as distinct files. Open each of the following three plugins and copy and paste the code from each into ourplugins.js
file. These are the only Bootstrap plugins we're using for this design:carousel
.js
collapse
.js
transition.js
Save your new, slimmer
plugins.js
file. Refresh your browser and test it:Make sure that your responsive navbar collapses for narrow viewports and drops down when the button is clicked.
Make sure your carousel runs as it should.
If these things are working, we've got the JavaScript we need.
We're now ready to minify and/or uglify the
plugins.js
file. A few free and convenient online tools include the following:UglifyJS JavaScript minification (http://marijnhaverbeke.nl/uglifyjs)
The YUI Compressor (http://refresh-sf.com/yui/)
Google's Closure Compiler (http://closure-compiler.appspot.com/)
With these tools, you can copy the contents of
plugins.js
, paste it into the online interface, run the compressor, and copy the code back intoplugins.js
.For this exercise, I used CodeKit, a premium app for Mac (http://incident57.com/codekit/).
Save the file.
Compare the file size.
I've kept copies of my files as follows:
plugins-all.js
contains the entirebootstrap.min.js
plugins-uncompressed.js
contains just the three needed plugins, uncompressedplugins.js
is the final file, minified and concatenated
You can see the results in this screenshot:
The final file is less than one-third the size of the original!