Include: Pack your JavaScript with ease

Written by on February 26th, 2008 in Ajax News.

Brian Moschel just told us about Include:

It determines which files to compress at runtime and automatically compresses them into one script using Dean Edwards’ Packer.

You can include any JavaScript from any other JavaScript with a relative path:

JAVASCRIPT:

include(’myscript.js’);
 

Then turn on compression like this:

JAVASCRIPT:

include.setup({env: ‘compress’});
include(’javascripts/prototype’, ‘javascripts/myapplication’);
 

When you reload the page, a window will open that contains a list of the scripts as they are loaded, the uncompressed collection of code, and the code compressed with Packer. You save the compressed code on your server and turn on production mode:

JAVASCRIPT:

include.setup({env: ‘production’, production: ‘path/to/prod’});
include(’javascripts/prototype’, ‘javascripts/myapplication’);
 

Scripts load in the same order across all browsers (last-in first-out), which is nice, considering document.write by default works differently in Opera.

Another aspect we’re excited about is that Include makes it so you’ll never have to write a custom server-side compression script again. Since the scripts to compress are determined at runtime, you can easily compress large libraries with conditional plugins, like TinyMCE.

JAVASCRIPT:

if (selected_plugins[’fullscreen’]);
    include(’dependencies’,'fullscreen’);
// conditionally include plugin
if (selected_plugins[’search’]);
    include(’search’);
 

Instead of duplicating that logic in a server-side script, you can choose your plugins, turn on compress mode, and you’ve got your compressed code. To demonstrate this, we ported TinyMCE and plugins to use Include.

Include is open-source with an MIT license. I hope you find it as useful as we have.

Source: Ajaxian
Original Article: http://feeds.feedburner.com/~r/ajaxian/~3/241902360/include-pack-your-javascript-with-ease

Comments are closed.



Site Navigation