Создание больших приложений с помощью Vue 3 и TypeScript

Изъято

Эта книга больше не доступна для продажи.

Создание больших приложений с помощью Vue 3 и TypeScript

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

О книге

(NOTE: There is a 2nd edition of this book in the work here https://leanpub.com/vue-vite-typescript. If you already bought this, reach to me with the same email you used on Leanpub and I will send you a coupon to download the new edition for free)

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

  • Разработка UI-компонентов независимо от API-клиента, который может возвращать как настоящие, так и фиктивные данные;
  • Разделённое на модули хранилище Vuex с группировкой на предметные области приложения;
  • Интернационализация и локализация, чтобы сделать доступным приложение на разных языках, включая форматирование чисел и дат согласно правилам определённой культуры;
  • TypeScript и проверка типов во время разработки, чтобы сократить количество ошибок или багов во время выполнения;
  • Продуманная файловая структура и разумные стандарты по именованию;
  • Модульные тесты для моделей и компонентов;
  • Библиотеки компонентов;
  • И многое другое.
  • Поделиться этой книгой

  • Категории

    • Computers and Programming
    • JavaScript
    • Vue.js
    • Web Development
    • Software Architecture
    • TypeScript
  • Отзывы

    Написать автору(-ам)

Эта книга является переводом на Русский книги Large Scale Apps with Vue 3 and TypeScript, которая изначально была написана на Английский.

Об авторах

Damiano Fusco
Damiano Fusco

Web Developer with 20 years of experience.

Specialties: VueJS, Svelte, React, TypeScript, JavaScript, HTML, SCSS, Microfrontends, and more.

Working as a freelance consultant, after 20 years of employment work. Hire my services to help your company get unstuck from the drawbacks of your current legacy frontend, and start moving forward at much higher speed and quality.

Follow me on GitHub, Twitter (X), LinkedIn

Personal website: www.damianofusco.com

Applications:

Alexey Pyltsyn
Alexey Pyltsyn

Web developer (mostly PHP and JavaScript). Maintainer of official Russian documentation on PHP. Translate articles on web development into Russian for devSchacht.

Содержание

  • КРУПНОМАСШТАБНЫЕ ПРИЛОЖЕНИЯ ПРИ ПОМОЩИ VUE 3 И TYPESCRIPT
  • Предисловие
    • Благодарности
    • Для кого предназначена эта книга
    • Цель
    • Принятые соглашения
  • Обязательный минимум
  • Сопутствующий код
  • Глава 1: инициализация проекта с помощью vue-cli
    • Резюме первой главы
  • Глава 2: ваш первый компонент
    • Список элементов
    • Требования к компоненту ItemsList
    • Код компонента ItemsList
    • Представление для главной страницы
  • Обновления App.vue
    • Резюме второй главы
  • Глава 3: интерфейсы модели данных
    • Директория с моделями
    • Интерфейс ItemInterface
    • Компонент ItemsList
  • Представление для главной страницы
    • Резюме третьей главы
  • Глава 4: добавление событий в компонент с элементами
    • Компонент ItemsList
    • Резюме четвёртой главы
  • Глава 5 - Введение в модульное тестирование и небольшой рефакторинг
    • ItemComponent
    • Модульные тесты ItemComponent
    • Компонент ItemsList
    • Обновление Home.vue
    • Резюме пятой главы
  • Глава 6. Знакомство со Vuex
    • Краткое описание Vuex
    • Главное хранилище Vuex (файл: store/index.ts)
    • Интерфейс ItemsStateInterface
    • Продолжаем работать с файлом store/index.ts
    • Представление главной страницы
    • Тестирование в браузере
    • Улучшение ItemsList.component.vue
    • Home.vue
    • Проверка в браузера
    • Компонент-загрузчик
    • Компонент ItemsList
    • Улучшение обработчика клика на элементе в компоненте ItemsList
    • Хранилище Vuex: мутация selectItem
    • Хранилище Vuex: действие selectItem
    • Резюме шестой главы
  • Глава 7: API-клиент
    • Общая схема API-клиента
    • Предметные области
    • Основной API-клиент
    • API-клиент элементов
    • Фиктивный и реальный API-клиенты
    • Фиктивный API-клиент
    • Настоящий API-клиент
    • Фабрика API-клиентов
    • Обновления экземпляра хранилища Vuex
    • Альтернативы
    • Резюме седьмой главы
  • Глава 8: улучшение API-клиента
    • Интерфейсы и модели HttpClient
    • Модульные тесты для HttpClient
    • Обновления в ItemsApiClientModel
    • Резюме восьмой главы
  • Глава 9: разбивка хранилища Vuex на модули
    • Текущий экземпляр Vuex-хранилища (файл src/store/index.ts)
    • Модели для хранилища и состояния
    • Экземпляр хранилища
    • Уродливый синтаксис интерполяции модуля и мутации
    • Итого
    • Резюме девятой главы
    • Замечания
    • Улучшения
  • Глава 10: локализация и интернационализация. Часть 1
    • Плагин vue-i18n
    • Резюме десятой главы
  • Глава 11: локализация и интернационализация. Часть 2
    • Компонент LocaleSelector
    • Реализация LocalesStateInterface
    • Файл LocaleSelector.component.vue
    • Файл LocaleFlagRadio.component.vue
    • Файл src/main.ts
    • Файл src/App.vue
    • Браузер
    • Выводы одиннадцатой главы
  • Глава 12: локализация и интернационализация. Часть 3
    • Локализация основного навигационного меню
    • Локализация компонента элементов
    • Выводы двенадцатой главы
  • Глава 13: локализация и интернационализация. Форматирование чисел и времени
    • Обновления JSON-файлов локалей
    • Выводы тринадцатой главы
  • Глава 14: конфигурация приложения
    • Файл src/config
    • Файл tsconfig.json
    • Файл src/config/index.ts
    • Модульные тесты для интерфейса Config
    • Выводы четырнадцатой главы
  • Глава 15: использование библиотек CSS/SASS/SCSS
    • Библиотека SCSS
    • Обновления кода плагина с иконками флагов
    • Плагин MyAppScss
    • Компонент ThemeSelector
    • Выводы пятнадцатой главы
  • Глава 16: создание внешних компонентов
    • Удаление текущего кода ThemeSelector
    • Создание директории для внешних компонентов
    • Создание директории для ThemeSelector
    • Создание моделей ThemeSelector
    • Создание моделей хранилища ThemeSelector
    • Constant keys for localStorage
    • Создание компонента ThemeSelector
    • Модификация кода в App.vue
    • Выводы шестнадцатой главы
  • Глава 17: Публикация библиотеки компонентов в виде пакета
    • Использование пакета в my-project
    • Выводы семнадцатой главы
  • Глава 18: знакомство с примитивами
    • Атомарный дизайн и похожие подходы
    • Соглашения
    • Общие принципы
    • Tailwind CSS
    • Текстовые элементы
    • Представление с примитивами
    • Выводы восемнадцатой главы
  • Глава 19: добавление новых примитивов
    • Элементы-кнопки
    • Обновление представления примитивов
    • Элементы c переключателем/чекбоксом
    • Ещё одна доработка представления с примитивами
    • Выводы девятнадцатой главы
  • Глава 20: высокоуровневые компоненты
    • Обновления компонента Item
    • Обновление компонента ItemsList
    • Резюме
    • Вывод двадцатой главы
  • Глава 21: динамические компоненты
    • Простой элемент карточки
    • Компонент BaseWidget
    • Компонент CustomersWidget
    • Компонент OrdersWidget
    • Компонент ItemsListWidget
    • Файл WidgetsCatalog.ts
    • Компонент WidgetsContainer, его модели и состояние
    • Представление с демонстрацией виджетов
    • Тестирование в браузере
    • Резюме
  • Файл Vue.config.js
  • Правила именования
    • Стандарт разработки кода
  • Примечания

60-дневная гарантия 100% удовлетворения от Leanpub

В течение 60 дней после покупки вы можете получить 100% возврат средств за любую покупку на Leanpub всего в два клика.

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

Узнать, насколько что-то хорошо, можно только попробовав, а благодаря нашей 100% гарантии возврата денег это можно сделать без всякого риска!

Так что нет причин не нажать кнопку "Добавить в корзину", не так ли?

Ознакомьтесь с полными условиями...

Получайте $8 с покупки за $10 и $16 с покупки за $20

Мы выплачиваем 80% роялти за покупки от $7.99 и выше, и 80% роялти минус фиксированную комиссию 50 центов за покупки в диапазоне от $0.99 до $7.98. Вы зарабатываете $8 с продажи за $10 и $16 с продажи за $20. Таким образом, если мы продадим 5000 невозвращенных копий вашей книги по $20, вы заработаете $80,000.

(Да, некоторые авторы уже заработали намного больше этого на Leanpub.)

Фактически, авторы заработалиболее $14 миллионов, создавая, публикуя и продавая на Leanpub.

Узнайте больше о писательстве на Leanpub

Бесплатные обновления. Без DRM.

Если вы покупаете книгу на Leanpub, вы получаете бесплатные обновления, пока автор обновляет книгу! Многие авторы используют Leanpub для публикации своих книг в процессе написания. Все читатели получают бесплатные обновления, независимо от того, когда они купили книгу и сколько заплатили (включая бесплатные книги).

Большинство книг Leanpub доступны в форматах PDF (для компьютеров) и EPUB (для телефонов, планшетов и Kindle). Форматы, в которых доступна книга, показаны в правом верхнем углу этой страницы.

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

Узнайте больше о форматах электронных книг Leanpub и где их читать

Пишите и публикуйте на Leanpub

Вы можете использовать Leanpub для простого написания, публикации и продажи электронных книг и онлайн-курсов в процессе работы над ними или уже завершённых!

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

Leanpub - это волшебная печатная машинка для авторов: просто пишите обычным текстом, и для публикации вашей электронной книги достаточно нажать одну кнопку. (Или, если вы создаёте свою электронную книгу собственным способом, вы даже можете загрузить свои собственные файлы PDF и/или EPUB и затем опубликовать их одним щелчком мыши!) Это действительно так просто.

Узнайте больше о публикации на Leanpub