I am going to talk more about the above plugins while I create the gulp tasks – but lets first talk about what the gulp task does; it basically used to define functionality that will be used in build automation for example in the below code we are using the gulp object that we created above to create task called ‘jshint’ and then we assign function to the task.

In the default task we have the usemin() method that is piping through the index.html to look for build pre processor tags between which we link our css stylesheets and javascripts files. And then we use the minifyCss() and uglify() js methods the result is then streamed to the website folder.

That concludes this part 1 of the post , in the next part 2 I will talk about starting the express server from gulpfile.js , using browsersync to reload browser when we make changes to our files and the watch function – also we will be talking about the bower package management!