Рубрики
Без рубрики

Начало работы с Litelement и Teadercript

Начало работы с LitElement и Teadercript от: Luis Aviles (@luixaviles) Google Devel … Теги с JavaScript.

BY: LUIS AVILES (@LUIXAVILES) Эксперт Google Developer в веб-технологиях и угловых

Использование мощных рамх и библиотек очень распространено в наши дни. Мы можем назвать угловые, отреагировать .js, Vue, Svelte, среди прочего.

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

Можем ли мы поделиться компонентом между этими рамками? Краткий ответ: нет. Каждая рамка/библиотека имеет пользовательское определение API для создания компонентов, и они не взаимозаменяются друг с другом.

Литянство

Согласно официальному литенствию Сайт :

Litelement – это простой базовый класс для создания быстрых легких веб-компонентов, которые работают на любой веб-странице с любой структурой.

Это означает, что мы можем использовать парадигму OOP, используя JavaScript или еще лучше: Teadercript. Давайте объясним это следующими примерами.

Litelement и JavaScript

Чтобы создать свой первый пользовательский веб-компонент с помощью JavaScript, вам необходимо определить класс, который реализует внешний вид и функциональность следующим образом:

import { LitElement, html } from 'lit-element';

class HelloComponent extends LitElement {
  static get properties() { // JavaScript way to define custom properties
    return { name: { type: String } };
  }

  constructor() {
    super();
    this.name = 'Luis'; // Default value goes here.
  }

  render() { // Defines a template to be "rendered" as part of the component.
    return html`Hello ${this.name}. Welcome to LitElement!`;
  }
}

// Register as a custom element named 
customElements.define('hello-component', MyElement);

Litelement и Tymdercript

Вместо этого вы можете использовать мощность Tymdercript, импортируя некоторые декораторы для записи вашего первого веб-компонента следующим образом:

import { LitElement, html, property, customElement } from 'lit-element';

@customElement('hello-component') //Decorator that register as a custom element named 
export class HelloComponent extends LitElement {
  @property({type: String}) name = 'Luis'; // You can assign the default value here.

  render() { // Defines a template to be "rendered" as part of the component.
    return html`Hello, ${this.name}. Welcome to LitElement!`;
  }
}

Есть новый компонент для вашего проекта. Вы можете использовать его в ваших шаблонах файлов, как если бы он был новым участником VTML Vocabulary:

  
  

Хотите играть с последним примером? Просто увидите ниже или откройте редактор Stackblitz:

Встроенный контент: .html

Litelement поможет вам построить свои веб-компоненты, которые будут легко разделяться в вашей компании или организации, даже если вы работаете с разными каркасами JavaScript.

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

Итак, теперь вы думаете о запуске проекта и используете Litelement для создания вашего веб-приложения на основе веб-компонентов. Замечательно!

Вы можете начать проект с нуля:

  • Вам нужно установить LitElement, используя NPM I Lit-Element
  • Затем установите Tymdercript с помощью NPM i typeyctry.
  • Как насчет создания tsconfig.json файл?
  • Любая система сборки, которую вы хотите добавить и настроить?
  • Теперь вам нужно будет добавить Eslint и Красивее и следовать передовым опытам
  • Продолжайте добавлять поддержку тестирования устройства и Карма
  • Вы получаете точку …

Проектные леса

Вы покрыты Генератор проекта от Open-WC Инициатива, и вы можете создать свой первый проект с помощью Spacecript Contport и Common Tooling всего за несколько секунд:

Запустите Open-WC Генератор проекта:

npm init @open-wc
# Select "Scaffold a new project" (What would you like to do today?)
# Select "Application" (What would you like to scaffold?)
# Mark/Select "Linting", "Testing", "Demoing" and "Building" (What would you like to add?)
# Yes (Would you like to use TypeScript?)
# Mark/Select "Testing", "Demoing" and "Building" (Would you like to scaffold examples files for?)
# my-project (What is the tag name of your application/web component?)
# Yes (Do you want to write this file structure to disk?)
# Yes, with npm (Do you want to install dependencies?)

У вас будет этот вывод:

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

./
├── my-project/
│ ├── .storybook/
│ │ ├── main.js
│ │ └── preview.js
│ ├── src/
│ │ ├── my-project.ts
│ │ ├── MyProject.ts
│ │ └── open-wc-logo.ts
│ ├── stories/
│ │ └── my-project.stories.ts
│ ├── test/
│ │ └── my-project.test.ts
│ ├── .editorconfig
│ ├── .eslintrc.js
│ ├── .gitignore
│ ├── custom-elements.json
│ ├── index.html
│ ├── karma.conf.js
│ ├── LICENSE
│ ├── package.json
│ ├── README.md
│ ├── rollup.config.js
│ └── tsconfig.json

Этот проект имеет поддержку многих инструментов, таких как Lit-Element , машинопись , Eslint , красивее , карма (Тестирование), Статьгор (Денование) и Рулон (Строительство)

Наконец, бегите NPM запустить начало Команда дать предварительный просмотр приложения.

Расширения для визуального студийного кода

Я нашел следующие расширения кода Visual Studio Code, очень полезные для создания веб-компонентов с помощью Tearpcript:

  • Lit-HTML Отказ Это расширение добавляет синтаксис подсветки и Intellisense для HTML-кода внутри Typeycript Taged Teamplate Strings.
  • Litelement Snippet Отказ Это расширение обеспечивает Litelement Кодовые фрагменты для автогената класса с @CustomElement () Декоратор, Автогенатные свойства, оказывать функция и многое другое.
  • Litelement и Polymer V2/V3 фрагменты Отказ В качестве альтернативы, к предыдущему, вы можете установить это расширение, которое содержит несколько фрагментов JavaScript и HTML для LitElement и Polymer.

Вывод

Litelement – это отличная альтернатива для создания легких веб-приложений, поскольку он основан на стандарте веб-компонентов, при этом добавление совместимых с любым любым JavaScript Framework или библиотекой. Конечно, это возможно использовать эти компоненты для построения SPA (приложение для одной страницы) или даже добавить возможности PWA (Progressive Web Application).

С помощью TypeScript мы можем увидеть больше возможностей для создания веб-компонентов быстрее с хорошим опытом разработчика.

Эта точечная лаборатория – это современная веб-консультация, ориентированная на то, чтобы помочь компаниям по помощи, реализуют свои усилия по цифровым преобразованиям. Для экспертных архитектурных руководств, обучения или консалтинга в реагировании, угловых, Vue, веб-компонентах, графе, узле, базеля или полимере, посещение thisdotlabs.com .

Этот точечный носитель ориентирован на создание инклюзивной и образовательной сети для всех. Мы поддерживаем вас в курсе доспехов в современной сети через события, подкасты и бесплатный контент. Учиться, посетить thisdot.co .

Оригинал: “https://dev.to/thisdotmedia_staff/getting-started-with-litelement-and-typescript-417j”