"Shawn, the build system is arguably the first thing that we should care about when creating a new web application. It is not only a tool for running scripts, but in the JavaScript world, it usually shapes the basic structure of our application."
The following responsibilities should be performed by a build system:
External dependencies as well internal dependencies should be managed
It should run compilers/preprocessors
It should optimize assets for production
The development web server, browser reloader, and file watcher should be run by it
"There are a lot of different tools such as Grunt, Gulp, and Browserify, which can be used as part of our build system. Each tool has its own advantages and disadvantages. However, we have decided to go with Webpack in our projects." said Mike.