Установка и настройка

Stencil — это современный инструмент для разработки веб-компонентов, который позволяет создавать высокопроизводительные и гибкие пользовательские интерфейсы. Установка и настройка Stencil не требует сложных действий и может быть выполнена в несколько шагов.

Требования

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

  • Node.js (рекомендуемая версия — LTS).
  • npm (или yarn) для управления зависимостями.

Для проверки версии Node.js и npm можно использовать команды:

node -v
npm -v

Если Node.js или npm не установлены, их можно скачать с официального сайта Node.js.

Установка Stencil

Для установки Stencil необходимо создать новый проект с помощью CLI-инструмента. Самый быстрый способ — это использовать команду npm или yarn для установки.

  1. Создание нового проекта с использованием шаблона:
npm init stencil

или если используется Yarn:

yarn create stencil

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

  1. Установка зависимостей: После создания проекта необходимо установить все зависимости, которые указаны в package.json. Для этого используется команда:
npm install

или:

yarn install

После этого проект готов к запуску.

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

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

  • src/ — основная папка с исходными кодами компонентов и логикой.

    • components/ — папка для компонентов.
    • assets/ — место для хранения статических файлов.
  • www/ — директория для собранного проекта.

  • stencil.config.ts — основной файл конфигурации Stencil.

  • package.json — файл, управляющий зависимостями и скриптами проекта.

Настройка проекта

Конфигурация Stencil выполняется через файл stencil.config.ts. Этот файл позволяет настроить различные аспекты проекта, такие как:

  • Директория сборки. В этом разделе указывается путь, куда будет выводиться собранный проект. Например:

    outputTargets: [
      {
        type: 'www',
        dir: 'www',
        serviceWorker: null,
      },
    ],
  • Подключение плагинов и расширений. Stencil поддерживает различные плагины, такие как для работы с Sass, TypeScript и другими инструментами. Для их подключения нужно добавить соответствующие строки в конфигурацию:

    plugins: [
      sass(),
      typescript(),
    ],
  • Опции генерации стилей. В конфигурации можно настроить параметры стилей, такие как использование CSS или SCSS для компонента, а также автопрефиксы и минификацию:

    globalStyle: 'src/global/app.css',
  • Подключение сервис-воркера. В случае если проект требует офлайн-поддержки, в настройках можно активировать сервис-воркер:

    serviceWorker: {
      swDest: 'build/sw.js',
    },

Запуск проекта

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

npm start

или:

yarn start

Эта команда запускает сервер разработки, и проект будет доступен по адресу http://localhost:3333. Все изменения в коде автоматически будут применяться без необходимости перезагрузки страницы.

Окружение для продакшн-сборки

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

npm build

или:

yarn build

Сборка создаст оптимизированный проект, который можно развернуть на сервере. В процессе сборки статика будет минимизирована, а все компоненты скомпилированы для максимальной производительности.

Интеграция с другими фреймворками

Stencil поддерживает интеграцию с популярными фреймворками, такими как React, Angular и Vue. Для этого можно использовать соответствующие адаптеры. Например, для интеграции с React необходимо установить пакет @stencil/react-output-target и настроить вывод компонентов в формате, совместимом с React.

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

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

Утилиты и команды

Stencil предоставляет набор утилит для работы с проектом. Основные команды, доступные в CLI, включают:

  • build — сборка проекта для продакшн.
  • start — запуск сервера разработки.
  • test — запуск тестов.
  • e2e — запуск тестов на уровне пользовательского интерфейса.

Для получения списка всех доступных команд можно использовать:

npm run

или:

yarn run

Резюме

Процесс установки и настройки Stencil не вызывает сложностей и является интуитивно понятным. При наличии минимальных знаний о работе с Node.js и современными инструментами разработки, можно быстро создать рабочий проект. Основные этапы включают установку зависимостей, настройку конфигурации и запуск проекта в режиме разработки или для продакшн-сборки.