Posted in JavaScript

Getting up and Going with Grunt.js


Quickly Getting up with Grunt.js (may not be very helpful for newbies)
This post will quickly show you how to get up and going with Grunt.js from a command prompt. It uses the JSHINT contrib as an example. The tutorial goes quickly, so it may not be the best way to learn if you are completely new to Grunt.js . A PluralSight video may be more helpful. For others, it can serve a reference just in case you forgot how to set it up and do not need a 101-tutorial.

It does NOT show you how to use it in Visual Studio. A post on that is forthcoming.

Why use Grunt.js?
Grunt.js is used to automate the running of task running; on node.js. Examples of task could be- Validate HTML, run JSHINT on JavaScript, compile LESS to CSS, compile TypeScript to JavaScript and many others task. It takes away the gruntwork of cutting and pasting a JavaScript file in jshint.com, linting in it, and then cutting and pasting it back into your solution.

How do I Get Started
Step 1: Go to node.js and install node.js. Note, it may already be installed for you if you are using Linux

Step 2: Open up a command prompt

Step 3: Install Grunt CLI globally via this command:
npm install -g grunt-cli

Step 4: In the folder where you want to run grunt, create a file name package.json and have this configuration (customize it to your needs)

{
"name": "AnAwesomeProject",
"description": "Some Awesome Project",
"version": "0.1.0-alpha",
"license": "MIT",
"author": "Kermit the Frog",
"contributors": [
{
"name": "Kermit the Frog",
"email": "fakeEmail@fakeEmail.com"
},
{
"name": "Michael Jackson",
"email": "ms@mjj5550.mjj"
}
],
"devDependencies": {
}
}

Step 5: Create a file called gruntfile.js and have this in it (customize to your liking):

'use strict';

module.exports = function(grunt) {
grunt.initConfig({
pkg: grun.file.readJSON(‘package.json’)
});

grunt.loadNpmTaks(”);
}

Step 6: install grunt itself locally with this command:
npm install grunt --save-dev

Step 7: At this point, you are ready to have task to run. Let’s start with a simple one. Run this command (note, -save-dev will update the package.json file for you):
npm install grunt-contrib-jshint --save-dev

Step 8: Update the gruntfile.js to be something like this:
'use strict';

module.exports = function(grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON(‘package.json’),
jshint: {
options: {
},
files: [‘./Scripts/ *.js’]
}

});

grunt.loadNpmTasks(‘grunt-contrib-jshint’);

grunt.registerTask(‘default’, [‘jshint’]);
}

Step 9: Open the command prompt and this:
grunt

Step 10: Observe the message in the commmand prompt

Additional options for the package.json file can be found here: http://browsenpm.org/package.json
Additional node packages can be found at: http://gruntjs.com/plugins

A tutorial can be found at: http://gruntjs.com/ and PluralSight has a video on the topic.

Advertisements