Atomico — это современная библиотека для создания веб-компонентов на основе стандартов Web Components с реактивным подходом, похожим на React. Для начала работы необходимо подготовить окружение и установить необходимые зависимости.
Для работы с Atomico рекомендуется использовать современный пакетный
менеджер npm или pnpm. Создание нового проекта
выполняется через команду:
npm init -y
Эта команда создаст файл package.json, в котором будут
храниться все зависимости проекта. После этого можно установить Atomico
и сопутствующие инструменты сборки:
npm install atomico vite
Vite используется как современный инструмент для сборки
и разработки, обеспечивающий быстрый запуск локального сервера и горячую
перезагрузку компонентов.
Рекомендуемая структура проекта:
project/
│
├─ src/
│ ├─ components/
│ │ └─ MyComponent.js
│ ├─ index.js
│
├─ index.html
├─ package.json
└─ vite.config.js
src/components/ — каталог для всех
веб-компонентов;src/index.js — точка входа приложения;index.html — основной HTML-файл;vite.config.js — конфигурация сборки.Для поддержки Atomico в Vite создается минимальная конфигурация:
import { defineConfig } from "vite";
export default defineConfig({
root: ".",
build: {
outDir: "dist"
}
});
Эта конфигурация указывает директорию проекта как корневую и задает
папку dist для сборки готового приложения.
В index.js подключение компонентов выполняется через
экспорт функций component из Atomico:
import { c, html } from "atomico";
import MyComponent from "./components/MyComponent";
customElements.define("my-component", MyComponent);
customElements.define регистрирует компонент в браузере
под уникальным тегом, после чего его можно использовать в HTML:
<my-component></my-component>
Базовый компонент в Atomico создается с помощью функции
c, которая принимает объект с методами жизненного цикла и
функцией рендеринга:
import { c, html } from "atomico";
function MyComponent() {
return html`
<div>
<h1>Hello, Atomico!</h1>
</div>
`;
}
export default c(MyComponent);
Ключевые моменты:
c — оборачивает компонент, превращая
его в полноценный Web Component;html — шаблонная функция для
JSX-подобной разметки;Запуск локального сервера выполняется командой:
npx vite
После выполнения Vite открывает локальный сервер, обычно по адресу
http://localhost:5173/, где можно наблюдать работу
компонентов в реальном времени. Изменения в файлах src/
автоматически отражаются на странице без перезагрузки браузера.
Atomico поддерживает ES-модули, поэтому можно использовать импорт сторонних библиотек напрямую в компонентах:
import { useState } from "atomico";
Состояния и эффекты аналогичны подходу React, что упрощает интеграцию сложной логики и реактивного поведения.
Для подготовки проекта к продакшен-сборке достаточно выполнить:
npx vite build
В результате создается оптимизированная версия приложения в папке
dist, готовая к деплою на сервер. Vite автоматически
минифицирует код, обрабатывает CSS и оптимизирует загрузку модулей.
Atomico полностью поддерживает TypeScript. Для подключения необходимо установить зависимости:
npm install --save-dev typescript @types/node
И добавить файл tsconfig.json:
{
"compilerOptions": {
"target": "ESNext",
"module": "ESNext",
"moduleResolution": "Node",
"strict": true,
"jsx": "preserve",
"esModuleInterop": true
},
"include": ["src/**/*"]
}
После этого файлы компонентов можно писать с расширением
.ts или .tsx, что позволяет использовать
строгую типизацию и автодополнение в IDE.
npm для управления пакетами;Vite для сборки и разработки;src/components,
index.js, index.html.Такое окружение обеспечивает быструю разработку, реактивность компонентов и возможность масштабирования проекта без сложной настройки инструментов.