Настройка окружения разработки

Для начала работы с фреймворком Svelte необходимо установить несколько инструментов, среди которых Node.js, пакетный менеджер npm и сам фреймворк. Эта глава охватывает процесс подготовки окружения для разработки на Svelte.

Установка Node.js и npm

Svelte зависит от Node.js — платформы, которая позволяет запускать JavaScript за пределами браузера. Важно иметь актуальную версию Node.js, так как она влияет на совместимость с различными инструментами разработки.

  1. Скачайте и установите Node.js с официального сайта: https://nodejs.org/.
  2. Во время установки Node.js автоматически установится и пакетный менеджер npm, который используется для управления зависимостями в проекте.

Для проверки корректности установки можно выполнить в командной строке следующие команды:

node -v
npm -v

Эти команды выведут версии Node.js и npm, что подтвердит успешную установку.

Создание нового проекта

Для создания нового проекта на Svelte рекомендуется использовать официальную утилиту degit, которая позволяет быстро склонировать шаблон для нового проекта. Этот процесс значительно упрощает настройку начального окружения.

  1. Установите degit глобально:
npm install -g degit
  1. Создайте проект с использованием шаблона Svelte:
degit sveltejs/template my-app
  1. Перейдите в каталог с проектом:
cd my-app
  1. Установите все зависимости с помощью npm:
npm install

Теперь проект готов для разработки. Основной каталог содержит минимально необходимую структуру файлов для работы с Svelte.

Структура проекта

После создания проекта структура каталогов будет выглядеть следующим образом:

my-app/
├── node_modules/       # Зависимости проекта
├── public/             # Статические файлы (например, index.html)
├── src/                # Исходный код
│   ├── main.js         # Точка входа для приложения
│   ├── App.svelte      # Главный компонент Svelte
├── package.json        # Конфигурация проекта
└── rollup.config.js    # Конфигурация сборщика
  • node_modules/: Директория, в которой находятся все установленные зависимости.
  • public/: Папка для хранения статических файлов, таких как HTML, изображения и шрифты.
  • src/: Папка, где находится исходный код приложения. Основные компоненты и логика размещаются в этом каталоге.
  • package.json: Конфигурация проекта, включая зависимости и скрипты для сборки и запуска.
  • rollup.config.js: Конфигурация для сборщика Rollup, используемого для компиляции и упаковки проекта.

Сборка и запуск проекта

Для того чтобы увидеть работу приложения, необходимо запустить сервер для разработки. Для этого используется команда:

npm run dev

Эта команда запускает локальный сервер, который автоматически компилирует проект при изменении файлов и обновляет страницу в браузере. Обычно сервер доступен по адресу http://localhost:5000.

Для сборки финальной версии проекта используйте команду:

npm run build

Этот процесс генерирует оптимизированные файлы в каталоге public, которые можно разместить на сервере.

Работа с Rollup

Svelte использует Rollup как инструмент для сборки проекта. Rollup — это модульный сборщик, который компилирует исходный код и создает финальный результат, оптимизированный для производительности.

Основная конфигурация Rollup содержится в файле rollup.config.js. Этот файл автоматически генерируется при создании проекта с шаблона Svelte. В базовой конфигурации уже настроены все необходимые плагины для обработки Svelte-компонентов, а также для работы с другими ресурсами (например, CSS).

Пример конфигурации для Rollup:

import svelte from 'rollup-plugin-svelte';
import resolve from '@rollup/plugin-node-resolve';
import commonjs from '@rollup/plugin-commonjs';
import { terser } from 'rollup-plugin-terser';

export default {
  input: 'src/main.js',
  output: {
    file: 'public/build/bundle.js',
    format: 'iife',
    name: 'app',
    sourcemap: true
  },
  plugins: [
    svelte({
      compilerOptions: {
        dev: true
      }
    }),
    resolve(),
    commonjs(),
    terser()
  ]
};

Использование другого сборщика (Webpack)

Хотя Rollup является предпочтительным сборщиком для Svelte, иногда может быть полезно настроить проект с использованием Webpack. Для этого потребуется вручную настроить конфигурацию Webpack, интегрировать соответствующие загрузчики для обработки Svelte-файлов и настроить правильную сборку.

В большинстве случаев для новичков проще использовать Rollup, но в некоторых сложных проектах Webpack может предложить больше гибкости и возможностей для интеграции с другими инструментами.

Работа с редакторами кода

Для разработки с использованием Svelte достаточно популярного редактора кода, например, Visual Studio Code, Sublime Text или WebStorm. Важно установить необходимые расширения и плагины, чтобы упростить работу с Svelte-компонентами.

Для Visual Studio Code рекомендуется установить расширение Svelte for VS Code, которое предоставляет синтаксическую подсветку, автодополнение и поддержку ошибок для Svelte.

Важность зависимости от версий

При разработке на Svelte важно следить за актуальностью версий зависимостей. Svelte активно развивается, и новые версии фреймворка могут включать улучшения производительности, новые функции или исправления ошибок. Поэтому регулярно обновляйте зависимости с помощью команды:

npm update

Также можно проверить наличие обновлений для самого фреймворка и зависимостей, проверяя информацию о версиях в официальной документации Svelte.

Дополнительные настройки и плагины

Для расширения функционала проекта можно использовать дополнительные плагины для Svelte или настройку конфигурации сборщика. Например, можно подключить поддержку TypeScript, интеграцию с CSS-препроцессорами (Sass, Less) или добавить поддержку более сложных систем маршрутизации.

Svelte поддерживает использование TypeScript, что позволяет использовать типизацию в проекте. Для этого необходимо добавить зависимости:

npm install --save-dev typescript svelte-preprocess

После этого можно настроить проект для работы с TypeScript, добавив поддержку в конфигурацию rollup.config.js и создавая файлы с расширением .ts.

Поддержка работы с сервером

Для более сложных приложений, требующих взаимодействия с серверной стороной, можно использовать различные подходы. Например, для создания серверных приложений можно использовать SvelteKit — фреймворк, который является расширением Svelte и предлагает дополнительные возможности для серверного рендеринга, маршрутизации и обработки API-запросов.

При необходимости серверной логики, например, для взаимодействия с базой данных или API, SvelteKit предоставляет все необходимые средства для построения полных веб-приложений.

Заключение

Настройка окружения разработки для Svelte включает несколько простых шагов — установку Node.js, создание нового проекта с помощью шаблона, настройку сборщика и выбор редактора. Разработка с Svelte минимизирует необходимость в сложных конфигурациях и позволяет фокусироваться на создании компонентов и логики.