Book Image

The JavaScript Workshop

By : Joseph Labrecque, Jahred Love, Daniel Rosenbaum, Nick Turner, Gaurav Mehla, Alonzo L. Hosford, Florian Sloot, Philip Kirkbride
Book Image

The JavaScript Workshop

By: Joseph Labrecque, Jahred Love, Daniel Rosenbaum, Nick Turner, Gaurav Mehla, Alonzo L. Hosford, Florian Sloot, Philip Kirkbride

Overview of this book

If you're looking for a programming language to develop flexible and efficient apps, JavaScript is a great choice. However, while offering real benefits, the complexity of the entire JavaScript ecosystem can be overwhelming. This Workshop is a smarter way to learn JavaScript. It is specifically designed to cut through the noise and help build your JavaScript skills from scratch, while sparking your interest with engaging activities and clear explanations. Starting with explanations of JavaScript's fundamental programming concepts, this book will introduce the key tools, libraries and frameworks that programmers use in everyday development. You will then move on and see how to handle data, control the flow of information in an application, and create custom events. You'll explore the differences between client-side and server-side JavaScript, and expand your knowledge further by studying the different JavaScript development paradigms, including object-oriented and functional programming. By the end of this JavaScript book, you'll have the confidence and skills to tackle real-world JavaScript development problems that reflect the emerging requirements of the modern web.
Table of Contents (17 chapters)

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.

What is Parcel...