Two of the most popular JavaScript task runners are Grunt and Gulp. The main difference between Gulp and Grunt is that while in Grunt we work using files as the input and output of our tasks, in Gulp we work with streams and pipes.
Grunt is configured using some configuration fields and values. However, Gulp prefers code over configuration. This approach makes the Gulp configuration somehow more minimalist and easy to read.
In this book, we will work with Gulp; however, if you want to learn more about Grunt, you can do so at http://gruntjs.com/.
To gain a good understanding of Gulp, we are going to configure some tasks.
Let's start by installing gulp using npm:
npm install gulp -g
Then let's create a JavaScript file named gulpfile.js inside the root folder of our project, which should contain the following piece of code:
let gulp = require("gulp")...