Babel Applications with Parcel
npm works very well as a package manager, but its project management capabilities are limited. In the previous exercise, you set up a script in the npm package.json
file that executed the Babel transpiler. The transpiler can translate JavaScript files one at a time and place the resulting translated files in the dist
directory, but that's about the extent of it. Often, your projects will have other requirements, such as the following:
- Ensuring your files are combined into fewer resulting JavaScript files
- Defining hot modules (breaking the compiled output into smaller chunks with dynamic loading)
- Processing CSS files
- Compressing images
- Ensuring files aren't cached between builds
It is possible to write your own scripts to manage your projects and execute them from npm from a parent script, but this is a lot of repetitive work that has already been solved by others. Parcel is a solution to this.