SvelteKit — Getting Started Guide

Sanjeev SharmaSanjeev Sharma
2 min read

Advertisement

SvelteKit — Getting Started Guide

SvelteKit offers a different approach to web development with reactive components and less boilerplate.

Installation

npm create svelte@latest my-app
cd my-app
npm install
npm run dev

Basic Component

<script>
  let count = 0

  function increment() {
    count += 1
  }
</script>

<div>
  <button on:click={increment}>
    count is {count}
  </button>
</div>

<style>
  button {
    background: blue;
    color: white;
  }
</style>

Routing

src/
├── routes/
│   ├── +page.svelte/
│   ├── blog/
│   │   └── +page.svelte/blog
│   └── blog/[slug]/
│       └── +page.svelte/blog/[slug]

Load Functions

// src/routes/blog/[slug]/+page.ts
export async function load({ params }) {
  const post = await fetch(`/api/posts/${params.slug}`)
    .then(r => r.json())

  return { post }
}
<!-- src/routes/blog/[slug]/+page.svelte -->
<script>
  export let data
</script>

<h1>{data.post.title}</h1>

Forms

<script>
  export let form
</script>

<form method="POST">
  <input name="email" type="email" required />
  <button>Sign up</button>
</form>

{#if form?.success}
  <p>Success!</p>
{/if}
// src/routes/+page.server.ts
export const actions = {
  default: async ({ request }) => {
    const data = await request.formData()
    // Process form
    return { success: true }
  }
}

FAQ

Q: How does Svelte compare to React? A: Svelte compiles to efficient code, less boilerplate than React.

Q: Can I use React libraries in SvelteKit? A: Difficult. Better to stick with Svelte ecosystem.

Q: Is SvelteKit production ready? A: Yes, used by many companies. Growing ecosystem.


SvelteKit offers a fresh perspective on web development.

Advertisement

Sanjeev Sharma

Written by

Sanjeev Sharma

Full Stack Engineer · E-mopro