As you create more complex web apps, performance becomes very important. You’ll need to configure apps to work in different browsers or with a low internet speed. It’s not easy to do this by hand, but build tools help automate this!

There are several types of build tools:

  • Package Managers, such as npm and Yarn, are used to install and manage Node.js packages.
  • Bundlers are used to efficiently bundle assets such as JavaScript files, images, and fonts. A few examples of the more commonly used bundlers are Webpack, esbuild, Parcel, and Vite.
  • Task runners, such as Grunt and Gulp, are used to automate the process of running repetitive workflows.

Build tools can assist you with:

  • Combining JavaScript modules and CSS into bundled files for production.
  • Minifying files for improved performance.
  • Running unit tests with one command.
  • Automatically previewing changes to your application.

You could be already using build tools and might not even realize it! Many popular frameworks and libraries utilize build tools to automate processes. For example, create-react-app and Gatsby utilize build tools to automate aspects of their development and deployment processes.

In this lesson, we will learn about the key concepts of build tools. Let’s get started!


Here are some questions to test your understanding! Think of your answer first, then click on the “Check Answer” button to check your answer.

What are the main functions of build tools?

Check Answer

Build tools can:

  • combine JavaScript modules and CSS into bundled files for production
  • minify files for improved performance
  • run unit tests with one command
  • automatically preview changes to your application

What are the different types of build tools?

Check Answer

There are three big categories of build tools: package managers, bundlers, and task runners.

Sign up to start coding

Mini Info Outline Icon
By signing up for Codecademy, you agree to Codecademy's Terms of Service & Privacy Policy.

Or sign up using:

Already have an account?