The easiest way to get started with Svelte
This'll only take a minute.
Svelte is a new kind of framework. Rather than putting a <script src='svelte.js'>
tag on the page, or bringing it into your app with import
or require
, Svelte is a compiler that works behind the scenes to turn your component files into beautifully optimised JavaScript.
Because of that, getting started with it can be a little bit confusing at first. How, you might reasonably ask, do you make a Svelte app?
1. Use the REPL
The Svelte REPL is the easiest way to begin. You can choose from a list of examples to get you started, and tweak them until they do what you want.
At some point, your app will outgrow the REPL. Click the download button to save a svelte-app.zip
file to your computer and uncompress it.
Open a terminal window and set the project up...
cd /path/to/svelte-app
npm install
...then start up a development server:
npm run dev
This will serve your app on localhost:5000 and rebuild it with Rollup every time you make a change to the files in svelte-app/src
.
2. Use degit
When you download from the REPL, you're getting a customised version of the sveltejs/template repo. You can skip messing around with zip files by using degit, a project scaffolding tool.
In the terminal, install degit globally (you only need to do this once):
npm install -g degit
After that, you can instantly create a new project like so:
degit sveltejs/template my-new-project
cd my-new-project
npm install
npm run dev
Once you've tinkered a bit and understood how everything fits together, you can fork sveltejs/template and start doing this instead:
degit your-name/template my-new-project
And that's it! Do npm run build
to create a production-ready version of your app, and check the project template's README for instructions on how to easily deploy your app to the web with Now or Surge.
You're not restricted to using Rollup — there are also integrations for webpack, Browserify and others, or you can use the Svelte CLI or the API directly. If you make a project template using one of these tools, please share it with the Svelte Gitter chatroom, or via @sveltejs on Twitter!