Deploy Sveltekit to cloudflare

blog banner

Published at Dec 22, 2024

Deploying SvelteKit to Cloudflare Pages: A Complete Guide

SvelteKit is a powerful framework for building web applications, and Cloudflare Pages provides an excellent platform for hosting them. This guide will walk you through the process of deploying your SvelteKit application to Cloudflare Pages, ensuring optimal performance and reliability.

Prerequisites

Before we begin, make sure you have:

  • Node.js installed on your machine
  • A GitHub account
  • A Cloudflare account
  • Basic familiarity with SvelteKit

Setting Up Your SvelteKit Project

1. Create a New SvelteKit Project

If you haven’t already created your SvelteKit project, you can do so using the following commands:

npm create svelte@latest my-sveltekit-app
cd my-sveltekit-app
npm install

2. Configure SvelteKit for Cloudflare

To deploy to Cloudflare Pages, you’ll need to make some adjustments to your SvelteKit configuration:

  1. Install the Cloudflare adapter:
npm install -D @sveltejs/adapter-cloudflare
  1. Update your svelte.config.js:
import adapter from '@sveltejs/adapter-cloudflare';

/** @type {import('@sveltejs/kit').Config} */
const config = {
    kit: {
        adapter: adapter()
    }
};

export default config;

Preparing for Deployment

1. Version Control Setup

Make sure your project is in a Git repository and pushed to GitHub:

git init
git add .
git commit -m "Initial commit"
git remote add origin your-github-repo-url
git push -u origin main

2. Build Configuration

Create a wrangler.toml file in your project root (optional but recommended):

name = "your-project-name"
compatibility_date = "2023-01-01"

Deploying to Cloudflare Pages

1. Connect to Cloudflare Pages

  1. Log in to your Cloudflare dashboard
  2. Navigate to Pages
  3. Click “Create a project”
  4. Choose “Connect to Git”
  5. Select your GitHub repository

2. Configure Build Settings

Set the following build configurations in Cloudflare Pages:

  • Build command: npm run build
  • Build output directory: .svelte-kit/cloudflare
  • Node.js version: 18 (or your preferred version)

Environment variables (if needed):

NODE_VERSION=18

3. Deploy

Click “Save and Deploy” to start the deployment process. Cloudflare Pages will:

  1. Clone your repository
  2. Install dependencies
  3. Build your application
  4. Deploy to their global network

Conclusion

Deploying SvelteKit to Cloudflare Pages provides a robust, performant hosting solution with global CDN benefits. By following this guide, you’ve learned how to:

  • Configure SvelteKit for Cloudflare deployment
  • Set up and deploy your application
  • Handle post-deployment tasks
  • Troubleshoot common issues

Remember to regularly update your dependencies and stay current with both SvelteKit and Cloudflare Pages features to ensure optimal performance and security.

Additional Resources