Book Image

Elevating React Web Development with Gatsby

Book Image

Elevating React Web Development with Gatsby

Overview of this book

Gatsby is a powerful React static site generator that enables you to create lightning-fast web experiences. With the latest version of Gatsby, you can combine your static content with server-side rendered and deferred static content to create a fully rounded application. Elevating React Web Development with Gatsby provides a comprehensive introduction for anyone new to GatsbyJS and will help you get up to speed in no time. Complete with hands-on tutorials and projects, this easy-to-follow guide starts by teaching you the core concepts of GatsbyJS. You'll then discover how to build performant, accessible, and scalable websites with the GatsbyJS framework. Once you've worked through the practical projects in the book, you'll be able to build anything from a personal website to large-scale applications with authentication and make your site rise through those SEO rankings. By the end of this Gatsby development book, you'll be well-versed in every aspect of the tool's performance and accessibility and have learned how to build client websites that your users will love.
Table of Contents (18 chapters)
1
Part 1: Getting Started
7
Part 2: Going Live
12
Part 3: Advanced Concepts

Common build errors

While working on our project, we mostly run the project in development mode. This is a great idea to ensure that the site also works with a production build by running the gatsby build command.

Sometimes, you might find that errors occur during the build process. So, let's talk about the most common issues and how we can fix them:

  • The most common error that you'll come across is window/document is not defined. Node.js does not contain the window and document variables found in the browser. Therefore, while your site is being built, it is unable to access them. You can get around this issue in a couple of ways. You can perform a check to confirm that the variable is defined (for example, typeof window !== undefined && yourFunction()), or if appropriate, you can move the code into a useEffect hook.
  • Ensure that all your components, your pages, and your gatsby-browser.js and gatsby-ssr.js files do not mix ES5 and ES6 syntax, as this...