This guide shows you how to deploy Razzle apps on Layer0.

Here is an example of a Razzle app running on Layer0:

This framework has a connector developed for Layer0. See Connectors for more information.

Layer0 only supports Node.js version 14.x

If you do not have Node.js installed on your system, download and install it from the official Node.js v14.x downloads page. Select the download that matches your operating system and run the installer. Note that the installer for Node.js will also install npm.

Note that while you can use any version of Node.js >= 14 locally, your app will run in Node 14 when deployed to Layer0 cloud. Therefore we highly suggest using Node 14 for all development.

To prepare your Razzle app for deployment on Layer0, run the following in the root folder of your project:

npm install -g layer0/cli
layer0 init

This will automatically add all of the required dependencies and files to your project. These include:

  • The layer0/core package - Allows you to declare routes and deploy your application on Layer0
  • The layer0/razzle package - Provides router middleware that automatically adds Razzle routes to Layer0 router.
  • The layer0/prefetch package - Allows you to configure a service worker to prefetch and cache pages to improve browsing speed
  • The layer0/react package - Provides a Prefetch component for prefetching pages
  • routes.js - A default routes file that sends all requests to Razzle. Update this file to add caching or proxy some URLs to a different origin.
  • sw/service-worker.js - The source code for your service worker, which enables prefetching when running on Layer0.
  • layer0.config.js - Contains configuration options for deploying on Layer0.

To simulate your app within Layer0 locally, run:

layer0 dev

To simulate edge caching locally, run:

layer0 dev --cache

Deploying requires an account on Layer0. Sign up here for free. Once you have an account, you can deploy to Layer0 by running the following in the root folder of your project

layer0 deploy

See deploying for more information.