Now that the Microsoft-Does-Everything-Different is dead and we all are moving to the development models of the future which embrace HTML and JavaScript - it's time to learn Grunt.
What's it for?
Basically Grunt is a tool to automatically run scripts for you. These scripts do things like
- JavaScript - Linting: This is like finding compile time errors in JavaScript - awesome :)
- TypeScript or CoffeeScript compiling
- JavaScript compression: Create minified and bundled JS at dev time which us much better and more reliable than on-the-fly like DNN tries to do it. All modern JS does it this way - that's why you always get a ...min.js
- JavaScript Source-Map generation: This allows you to still debug JS even though it's minified
- LESS or SASS CSS compilation
- JavaScript automation like Automatic-Annotation
How does it do that?
Grunt is JavaScript based and uses nodeJS. It basically looks at a file called gruntfile.js and does whatever is defined there in a batch-run. This file contains a bunch of things like:
- What plugins to load (because each action is an own plugin)
- What file-sets exist to be processed - like the list of "my css-files"
- Run each plugin against these files
This may sound complicated but you'll be amazed at how easy and fast this is. We've been using it on 2sxc for about half a year now and we love it!
Getting Started with Grunt
I'll write some tutorials as soon as we've added Grunt-support to 2sxc Apps. This should be released this week. If you can't wait, just try some online tutorials out there :).
With love from Switzerland,
Daniel
Daniel Mettler grew up in the jungles of Indonesia and is founder and CEO of 2sic internet solutions in
Switzerland and Liechtenstein, an 20-head web specialist with over 700
DNN projects since 1999. He is also chief architect of 2sxc (see forge), an open source module for creating attractive content and DNN Apps.