Узнайте, как создавать повторно используемые, масштабируемые компоненты, которые являются небольшими и молниеносно быстрыми.

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

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

Начало работы с Stencil.js

Чтобы начать работу с Stencil.js, вам сначала нужно инициализировать его на своем компьютере.

Сделайте это, выполнив следующую команду в терминале node.js:

трафарет инициализации npm

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

Чтобы продолжить, выберите вариант компонента, введите имя вашего проекта и подтвердите свой выбор:

Затем перейдите в каталог вашего проекта и установите зависимости, выполнив следующие команды:

instagram viewer
компакт-диск первый трафарет-проект
установка нпм

Создание нового веб-компонента

Чтобы создать новый веб-компонент в Stencil.js, создайте путь к папке, например источник/компоненты. Папка компонентов будет содержать файл TypeScript, названный в честь вашего компонента, например Stencil.js. использует язык TypeScript и JSX для разработки компонентов. Папка также будет содержать файл CSS, содержащий стиль вашего компонента.

Например, если вы хотите создать компонент с именем «my-button», создайте файл с именем моя-кнопка.tsx и файл CSS с именем моя-кнопка.css. в моя-кнопка.tsx файл, определите свой компонент с помощью Stencil.js API:

Импортировать { Компонент, ч } от'@трафарет/ядро';

@Компонент({
ярлык: 'моя кнопка',
URL-адрес стиля: 'моя-кнопка.css',
тень: истинный,
})

экспортсортМоя кнопка{
оказывать() {
возвращаться (

Этот код импортирует Компонент и час функции из Stencil.js. Компонент функция определяет компонент, а час функция создает свою разметку с помощью HTML.

Определите свой компонент, используя @Компонент декоратор, который принимает объект с тремя свойствами: ярлык, URL-адрес стиля, и тень.

ярлык свойство содержит имя тега компонента. URL-адрес стиля Свойство указывает файл CSS для стилизации пользовательского элемента. Наконец, тень Свойство — логическое значение, указывающее, будет ли компонент использовать Shadow DOM для инкапсуляции стилей и поведения пользовательского элемента. В методе рендеринга вы создаете элемент кнопки.

В добавок к URL-адрес стиля свойство, вы можете использовать еще два свойства для стиля вашего компонента: стиль и URL стиля.

стиль свойство определяет встроенные стили для компонента. Он принимает строковое значение, представляющее стили CSS для компонента:

Импортировать { Компонент, ч } от'@трафарет/ядро';

@Компонент({
ярлык: 'моя кнопка',
стиль: `
кнопка {
заполнение: 1бэр 0.5бэр;
радиус границы: 12пкс;
семейство шрифтов: скоропись;
граница: нет;
цвет: #e2e2e2;
фоновый цвет: #333333;
вес шрифта: полужирный;
}
`,
тень: истинный,
})

экспортсортМоя кнопка{
оказывать() {
возвращаться (

URL стиля Свойство указывает несколько внешних файлов CSS для стилизации компонента. Он принимает массив строковых значений, представляющих пути к файлам CSS:

Импортировать { Компонент, ч } от'@трафарет/ядро';

@Компонент({
ярлык: 'моя кнопка',
URL стиля: ['моя-кнопка.css', 'другая-кнопка.css'],
тень: истинный,
})

экспортсортМоя кнопка{
оказывать() {
возвращаться (

Рендеринг веб-компонента

После того, как вы создали свой веб-компонент, вы можете отобразить его в файле HTML, добавив тег пользовательского элемента. Вот как вы можете включить компонент my-button:

HTML>
<HTMLдиректор="лтр"язык="ан">
<голова>
<метакодировка="утф-8" />
<метаимя="окно просмотра"содержание=«Ширина = ширина устройства, начальный масштаб = 1,0, минимальный масштаб = 1,0, максимальный масштаб = 5,0» />
<связьhref=""отн.="таблица стилей">
<заголовок>Стартовый компонент трафаретазаголовок>
<сценарийтип="модуль"источник="/сборка/первый-трафарет-проект.esm.js">сценарий>
<сценарийномодульисточник="/сборка/первый трафарет-проект.js">сценарий>
голова>
<тело>
<моя кнопка>моя кнопка>
тело>
HTML>

Теперь вы можете создавать веб-компоненты с помощью Stencil.js

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

Поскольку веб-компоненты становятся все более популярными, Stencil.js — это фреймворк, который следует учитывать при создании повторно используемых элементов для Интернета.