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

Практическое руководство по типографии – Как создать приложение Pokedex, используя HTML, CSS и Teadercript

Tymdercript – это суперсета, которая должна составить для простого JavaScript. Он предлагает больше контроля по вашему коду, поскольку он использует аннотации типа, интерфейсы, классы и проверка статического типа для броска ошибок при компиляции времени. Teadercript помогает улучшить качество кода и понятность, особенно с большой кодовой базой. В этом руководстве,

Tymdercript – это суперсета, которая должна составить для простого JavaScript. Он предлагает больше контроля по вашему коду, поскольку он использует аннотации типа, интерфейсы, классы и проверка статического типа для броска ошибок при компиляции времени.

Teadercript помогает улучшить качество кода и понятность, особенно с большой кодовой базой.

В этом руководстве я приведу вас через Typescript, сначала изучая все основы, необходимые для начала с этого великого языка. Затем мы закончим, построив приложение с нуля с помощью HTML, CSS и Teadercript.

Давайте погрузиться в

  • Что такое Typearcript?
  • Настройка типографии
  • Настройка Teamscript с TSConfig
  • Типы типографии
  • Основные типы типографии
  • Интерфейсы и псевдонимы типа
  • Создайте приложение Pokedex, используя TeampScript
  • Разметка
  • Привлечение и отображение данных с помощью Teamscript
  • Компилированная типография для JavaScript
  • Ресурсы

Что такое Typearcript?

Tymdercript – это объектно-ориентированный язык программирования, разработанный и поддерживаемый Microsoft. Это SuperSet javaScript, что означает, что любой действительный код JavaScript также будет работать, как ожидается в Teadercript.

Tymdercript имеет все функции JavaScript, а также некоторые дополнительные функции. Он должен быть скомпилирован на простое JavaScript во время выполнения, поэтому вам нужен компилятор, чтобы вернуть код JS.

Tymdercript использует статический набрав, что означает, что вы можете дать тип в переменной во время объявления. И это то, что не может быть сделано с JavaScript, потому что это динамически напечатанный язык – он не знает тип данных переменной, пока не назначит значение этой переменной во время выполнения.

Проверка статического типа делает TameScript отлично, потому что оно помогает бросить ошибку при составлении времени компиляции, если переменная не используется или переназначена с аннотацией другого типа. Однако ошибка не блокирует код из выполнения (и код JavaScript все еще будет сгенерирован).

Статическое набрав не является обязательным в Teadercript. Если тип не определен, но вариабельная имеет значение, Teamscript будет выводится значение в качестве типа. И если переменная не имеет значения, тип будет установлен на любой по умолчанию.

Теперь давайте начнем использовать Teamscript в следующем разделе, чтобы увидеть его в действии.

Настройка типографии

Как я уже говорил ранее, Skyprctry необходимо компилировать для простого JavaScript. Поэтому нам нужно использовать инструмент для получения компиляции. И иметь доступ к этому инструменту, вам необходимо установить TypeScript, запустив эту команду на терминале.

  yarn add -g typescript

Или если вы используете NPM:

  npm install -g typescript

Обратите внимание, что здесь я использую -G Флаг, чтобы установить Teamscript во всем мире, чтобы я мог получить доступ к нему из любого места.

Установив TypeScript, мы теперь доступ к компилятору, и мы можем скомпилировать наш код для JavaScript.

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

Настройка Teamscript с TSConfig

TSConfig это файл JSON, который помогает настроить TeampScript. Наличие конфигурации файла лучше, так как он помогает контролировать поведение компилятора.

Чтобы создать файл конфигурации, сначала необходимо создать новый каталог с именем Pokedex и просмотри к корню папки. Затем откройте его на терминале или IDE и запустите эту команду, чтобы создать новый файл конфигурации TeampSct.

  tsc --init

Как только файл генерируется, мы теперь можем исследовать его на IDE.

  • tsconfig.json.
{
    "compilerOptions": {
        "target": "es5",
        "module": "commonjs",
        "outDir": "public/js"
        "rootDir": "src",
        "strict": true,
        "esModuleInterop": true
        "forceConsistentCasingInFileNames": true
    },
    "include": ["src"]
}

Этот файл конфигурации гораздо более многословным, чем то, что вы видите выше – я удалил комментарии и неиспользуемые значения, чтобы облегчить чтение. Тем не менее, мы теперь можем разрушить эти ценности, объяснить каждый и посмотреть, что он делает.

Цель: он указывает целевую версию Ecmascript при компиляции кода TeampScript. Вот, мы нацелены ES5 Чтобы поддержать все браузеры, вы можете изменить его на ES6, ES3 (это значение по умолчанию, если цель не указана), ES2020 и т. Д.

Модуль: он определяет модуль скомпилированного кода. Модуль может быть общим JS, ES2015, ES2020 и т. Д.

Outdir: он указывает выходной каталог для кода, компилируемый на JavaScript.

rootdir.: Он определяет местоположение, в котором расположены файлы Tearccript, которые необходимо компилировать.

Включите: он помогает определить, какой каталог должен быть скомпилирован. Если у вас нет этого значения, компилятор займет каждый .ts Файл и составьте его JavaScript, даже если определяется выходной каталог.

С этим на месте мы можем теперь погрузиться в одну из самых важных частей Tymdscript: типы.

Типы типографии

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

Tymdercript имеет несколько типов, таких как номер, строка, логический, эсмин, void, null, undefined, любой, никогда, массив и кортеж. Мы не увидим всех типов в этом руководстве, но имейте в виду, что они существуют.

Теперь давайте посмотрим некоторые примеры основных типов.

Основные типы типографии

let foo: string = "test"
let bar: number = 1
let baz: string[] = ["This", "is", "a", "Test"]

Как вы можете видеть здесь, у нас есть три переменных с разными типами. Foo ожидает строки, бар , номер, и Баз массив строки. Если они получат что-нибудь еще, кроме типа объявленного типа, ошибка будет выброшена в TypeScript.

Вы также можете объявить Баз Как это: Пусть Baz: Array = [«Это», «это», «А», «тест»] Отказ

Теперь, давайте постараемся переназначить одну из этих переменных и посмотреть, насколько ведет себя TypeScript.

let foo: string = "test"
foo = 1
Type '1' is not assignable to type 'string'

Tymdercript будет бросать ошибку, потому что мы уже объявили Foo ожидать строки в качестве значения. И эта ошибка поймана при компиляционном времени, которое делает Teamescript отличным и полезным.

С помощью TypeyScripts типа могут быть явными, как выше, но они также могут быть неявной. Лучше явно определить тип заданного значения, потому что он помогает компилятору и следующему разработчику, который наследует код. Но вы также можете объявить переменные с помощью неявного типа аннотации.

let foo = "test"
let bar = 1
let baz = ["This", "is", "a", "Test"]

Tymdercript постарается сюда, чтобы сделать вывод столько, сколько может дать вам безопасность ввода с меньшим количеством кода. Это примет значение и определит его как тип для переменной. И ничего не изменится в отношении ошибок.

Давайте попробуем переназначить эти переменные, чтобы увидеть, что произойдет.

foo = 7
bar = "updated"
baz = [2, true, "a", 10]

Tymdercript будет ловить ошибки, как раньше, даже если переменные типы будут объявлены неявно.

Type '7' is not assignable to type 'string'.
Type '"updated"' is not assignable to type 'number'.
Type 'true' is not assignable to type 'string'.

При работе с объектом нескольких свойств можно сложно и раздражать, чтобы определить типы. Но, к счастью, Tymdercript имеет что-то, чтобы помочь вам вместе с этим использованием. Итак, давайте погрузимся в Skyscripts Interfaces и типовые псевдонимы в следующем разделе.

Интерфейсы и псевдонимы типа

Интерфейсы и псевдонимы типа помогают нам определить форму структур подобных объектам. Они похоже на то же самое относительно их структуры, но имейте в виду, что они разные.

Тем не менее, консенсус среди разработчиков является использование Интерфейс Всякий раз, когда вы можете, так как это по умолчанию Цлинт Напротив.

Теперь давайте создадим интерфейс и псевдоним типа в следующем разделе, чтобы увидеть их в действии.

interface ITest {
  id: number;
  name?: string;
}

type TestType = {
  id: number,
  name?: string,
}

function myTest(args: ITest): string {
  if (args.name) {
    return `Hello ${args.name}`
  }
  return "Hello Word"
}

myTest({ id: 1 })

Как видите, структура интерфейса и псевдоним типа выглядит как объект JavaScript. Они должны определить форму данных данных с помощью Teadercript.

Обратите внимание, что здесь я использую дополнительное поле Имя Добавив знак вопроса ( ? ). Это позволяет нам сделать свойство имя по желанию. Это означает, что если значение не будет передано в свойство имя , это вернется undefined как его ценность.

Далее мы используем интерфейс Itest Как тип для аргумента, полученного функцией Mytest Отказ И, как и в случае с переменными, функции также могут быть определены для возврата определенного типа. И здесь возвращаемое значение должно быть строкой, в противном случае ошибка будет брошена на Teamscript.

До сих пор мы охватываем все основные знания, необходимые для начала работы с Typearcript. Теперь давайте использовать его для создания Pokedex с HTML и CSS.

Давайте погрузимся в.

Создайте приложение Pokedex, используя TeampScript

Проект, который мы собираемся построить, приведет к удаленным данным из Pokemon API и отображать каждый покемон с помощью Teadercript.

Итак, давайте начнем с создания трех новых файлов в корне папки Pokedex : index.html , style.csss и SRC/App.ts Отказ И для конфигурации Tymdercript мы будем использовать то же самое tsconfig.json Файл создан ранее.

Теперь давайте перейдем к детали разметки и добавьте некоторое содержание в файл HTML.

Разметка

  • index.html.



  
    
    
    
    TypeScript Pokedex
  
  
    

Typed Pokedex

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

  • ID приложение из Div Тег, который будет использоваться для добавления контента с использованием TeampScript и
  • Сценарий тег, который указывает на публичный Папка и быть точным файлом JavaScript, который TeampScript создаст для нас во время компиляции.

Кроме того, файл CSS немного длинный, поэтому я не буду охватывать его – я не хочу тратить свое время и хотеть оставаться сосредоточенным на Typeyctry. Это сказано, теперь мы можем погрузиться в него и начать получать данные из API.

Привлечение и отображение данных с помощью Teamscript

Мы запускаем часть TS, выбрав ID приложение который является идентификатором Div Тег Отказ

  • SRC/App.ts.
const container: HTMLElement | any = document.getElementById("app")
const pokemons: number = 100

interface IPokemon {
  id: number;
  name: string;
  image: string;
  type: string;
}

Здесь у нас есть аннотация типа, которая еще не была покрыта. Это тип профсоюза, который позволяет иметь альтернативные типы для заданной переменной. Это означает, что если Контейнер не типа Htmlelement. TypeScript снова проверит, если значение равно типу после трубы ( | ) Символ и так далее, потому что вы можете иметь несколько типов.

Далее у нас есть интерфейс Покемон Это определяет форму объекта Pokemon, который будет использоваться рядом с функцией, ответственной за отображение содержимого.

  • SRC/App.ts.
const fetchData = (): void => {
  for (let i = 1; i <= pokemons; i++) {
    getPokemon(i)
  }
}

const getPokemon = async (id: number): Promise => {
  const data: Response = await fetch(`https://pokeapi.co/api/v2/pokemon/${id}`)
  const pokemon: any = await data.json()
  const pokemonType: string = pokemon.types
    .map((poke: any) => poke.type.name)
    .join(", ")

  const transformedPokemon = {
    id: pokemon.id,
    name: pokemon.name,
    image: `${pokemon.sprites.front_default}`,
    type: pokemonType,
  }

  showPokemon(transformedPokemon)
}

Функция Fetchdata Позволяет нам петлю через количество покемонов, чтобы получить и для каждого вызова объекта GetPokemon с номером покемона.

Может потребоваться время для получения данных, поэтому мы будем использовать асинхронную функцию, которая возвращает Обещание типа пустота . Это последнее означает, что функция не вернет значение.

И как только данные извлекли, мы теперь можем создать новый объект трансформируетсяpokemon что отражает интерфейс Покемон , а затем пропустите его как аргумент на Показать покемонов () Отказ

  • SRC/App.ts.
const showPokemon = (pokemon: IPokemon): void => {
  let output: string = `
        
#${pokemon.id} ${pokemon.name}

${pokemon.name}

${pokemon.type}
` container.innerHTML += output } fetchData()

Как видите, функция ShowPokemon Получает как параметр Pokemon Object Of Type IPokemon и возвращает пустота или без ценности быть точным. Он просто добавит содержимое в HTML-файл с помощью идентификатора Контейнер (Помните, это Div ярлык).

Большой! Теперь мы сделали много, но что-то все еще отсутствует, потому что index.html Файл ничего не отобразет, если вы попытаетесь запустить его в браузере. Это связано с тем, что Skyscript должен быть скомпилирован на простое JavaScript. Итак, давайте сделаем это в следующем разделе.

Компилированная типография для JavaScript

Ранее в этом уроке мы установили Typeycript Compiler, который позволяет компилировать наш код T TO JavaScript. И делать это, вам нужно просмотреть корню проекта и запустить следующую команду.

  tsc

Эта команда будет компилировать каждый файл с .ts Расширение для JavaScript. И так как у нас есть TSConfig Файл, компилятор будет следовать определенным правилам и компилировать только файлы TS, расположенные в SRC папка и поместите код JS в публичный каталог.

Компилятор также позволяет компилять только один файл.

  tsc myFile.ts

И если вы не укажете имя после файла TS ( myfile.ts ), скомпилированный файл JS примет одно и то же имя, что и файл TS.

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

  tsc -w

И теперь, если вы запустите index.html Файл, вы увидите, что ваш Pokedex успешно отображается в браузере.

Большой! Теперь мы узнали основы Tymdescript, создавая приложение Pokedex с HTML и CSS.

Предварительный просмотр готового проекта здесь Или найти исходный код здесь Отказ

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

Спасибо за прочтение.

Ресурсы

Вот некоторые полезные ресурсы, чтобы погрузиться глубже в Tymdercript.

Типы типографии

Skittscript Compiler Опции

Машинопись Справочник

Оригинал: “https://www.freecodecamp.org/news/a-practical-guide-to-typescript-how-to-build-a-pokedex-app-using-html-css-and-typescript/”