Svelte — это современный JavaScript-фреймворк, который позволяет создавать высокоэффективные веб-приложения с минимальными усилиями. Основное отличие Svelte от других фреймворков заключается в том, что он не использует виртуальный DOM и не требует большого количества библиотек для работы. Вместо этого он компилирует компоненты в оптимизированный JavaScript-код на этапе сборки, что позволяет добиться высокой производительности.
В этом разделе рассмотрим процесс развертывания простого приложения на Svelte, начиная от установки и настройки проекта, до деплоя на сервер.
Для начала необходимо установить Node.js, если он ещё не установлен.
Он потребуется для работы с пакетным менеджером npm,
который используется для установки зависимостей в Svelte.
Для создания нового проекта на Svelte можно использовать шаблон, который предоставляет сам фреймворк. В терминале выполните следующую команду:
npx degit sveltejs/template svelte-app
Эта команда создаст новую директорию svelte-app с
базовой структурой проекта. Важно отметить, что команда
degit используется для клонирования репозитория без истории
версий, что минимизирует размер проекта.
Перейдите в каталог с проектом:
cd svelte-app
Теперь нужно установить все необходимые зависимости. Для этого в директории проекта выполните команду:
npm install
Эта команда скачает и установит все библиотеки, указанные в файле
package.json.
После того как все зависимости будут установлены, можно запустить локальный сервер для разработки:
npm run dev
По умолчанию приложение будет доступно по адресу
http://localhost:5000. Откройте его в браузере, и вы
увидите приветственную страницу от Svelte.
Структура созданного приложения выглядит следующим образом:
svelte-app/
├── public/
│ └── global.css
│ └── index.html
├── src/
│ └── App.svelte
│ └── main.js
├── package.json
├── rollup.config.js
└── node_modules/
public/ — статические файлы, такие как HTML и CSS. Это
то, что будет доступно клиенту.src/ — исходный код приложения, включая компоненты
Svelte и JavaScript-файлы.package.json — файл конфигурации проекта, содержащий
зависимости и скрипты.rollup.config.js — конфигурация сборщика Rollup,
который используется для сборки проекта.Компоненты в Svelte — это основной строительный блок приложения. Они
представляют собой файлы с расширением .svelte, которые
содержат HTML, CSS и JavaScript.
Пример простого компонента:
<script>
let name = 'Мир';
</script>
<style>
h1 {
color: red;
}
</style>
<h1>Привет, {name}!</h1>
В этом примере:
<script> — блок для логики
компонента. Здесь определена переменная name, которая будет
использоваться в разметке.<style> — блок для стилей,
применяемых только к текущему компоненту.{}.Для динамического изменения содержимого в Svelte достаточно изменять
переменные в блоке <script>, и приложение
автоматически обновит DOM.
Для создания простого приложения, отображающего список элементов,
создадим новый компонент и добавим его в главный файл
App.svelte.
App.svelte удалите стандартную разметку и
замените её следующим кодом:<script>
let items = ['Яблоки', 'Бананы', 'Груши'];
</script>
<style>
ul {
list-style-type: none;
padding: 0;
}
li {
margin: 5px 0;
font-size: 1.2em;
}
</style>
<h1>Список фруктов</h1>
<ul>
{#each items as item}
<li>{item}</li>
{/each}
</ul>
В этом коде:
{#each} для итерации по массиву
items и вывода каждого элемента в
<li>.<li>).npm run dev
Теперь на странице будет отображаться список фруктов, переданных в
массив items.
После того как приложение готово, следующим шагом является его развертывание на сервере.
Для создания production-версии приложения необходимо выполнить сборку с помощью команды:
npm run build
Эта команда создает оптимизированную версию приложения в папке
public/, которую можно развернуть на сервере.
Для хостинга можно использовать различные решения, такие как:
Для развертывания на Netlify или Vercel достаточно просто подключить
репозиторий и указать команду сборки (npm run build), после
чего платформа автоматически выполнит деплой.
Если планируется деплой на собственный сервер, можно использовать такие инструменты, как Nginx или Apache для обслуживания статических файлов. Пример настройки Nginx:
server {
listen 80;
server_name yourdomain.com;
root /path/to/your/project/public;
index index.html;
location / {
try_files $uri $uri/ /index.html;
}
}
Эта конфигурация позволяет серверу правильно обрабатывать запросы и отдавать статические файлы.
Развертывание приложения на Svelte — это быстрый и удобный процесс. Благодаря минимистичной структуре и высокой производительности, Svelte становится отличным выбором для создания современных веб-приложений.