Перейти к содержимому
Настройка проекта Vite + React + TypeScript

Настройка проекта Vite + React + TypeScript

Настройка окружения

Менеджер версий Node (NVM) — это утилита, которая позволяет устанавливать и переключаться между разными версиями Node.js в одном компьютере/профиле. Это позволяет учесть ситуацию, когда проект A требует Node 22, а проект B — Node 20. В этом случае можно просто переключить текущую версию при помощи nvm use {версия} и запустить нужный проект без дополнительных переустановок.

Рекомендуется сначала удалить ранее установленный Node, затем поставить nvm-windows и через него — нужный Node.

Установка NVM

Официальный способ — инсталлятор-скрипт. После установки команда nvm будет доступна в вашем shell:

Terminal
# установка / обновление nvm (пример с curl)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash

# перезапустите терминал или source ~/.bashrc / ~/.zshrc, затем:
command -v nvm   # должно вывести "nvm"

Дальше: nvm install --lts (или конкретную версию), nvm use 22.

Подробнее ознакомиться со всеми необходимыми командами можно в их официальном GitHub-репозитории.

npm и Vite

npm — это менеджер пакетов экосистемы JavaScript/Node: он ставит зависимости, запускает скрипты, управляет версиями.

npm идёт в комплекте с Node.js и не требует отдельной установки. Для проверки того, какие конкретно версии Node.js и npm установлены, можно воспользоваться командами: node -v, npm -v.

Vite — современный инструмент сборки и дев-сервера. Основное отличие — высокая скорость работы: он использует нативные ES-модули в dev-режиме и даёт быстрый HMR (горячую замену модулей) без полной перезагрузки страницы. Для работы ему нужен Node 20.19+ или 22.12+. Также обладает достаточно обширной и детализированной документацией.

Инициализация проекта (Vite + React + TypeScript)

Для начала кратко упомянем, почему был выбран именно такой инструментарий. Одна из основных «болей» при разработке с JS — отсутствие строгой типизации, что значительно увеличивает цикл разработки и дальнейшего тестирования для разработчиков.

В качестве альтернативы можно использовать TypeScript (TS). Это надстройка над JS с системой типов. Она помогает ловить ошибки на этапе разработки и автоматически генерировать документацию для кода. Для первоначального знакомства рекомендую изучить «The TypeScript Handbook». Также есть официальный перевод от сообщества на русский язык. За что их можно отдельно похвалить — есть страница с описанием основных различий языков при миграции с Java/C#.

Для тех, кто чуть больше решит углубиться в изучение этого языка, советую книгу «Рецепты TypeScript», небольшую рецензию на неё можно посмотреть в этой статье на Хабре. PDF-ку сможете найти самостоятельно.

TS мы с вами будем использовать в паре со ставшим уже классическим фронтенд-фреймворком — React. У него есть много ответвлений — Preact, Next.js (наверное, наиболее популярный — продвигает и развивает концепцию SSR, Server Side Rendering) и др. Поэтому если один раз разберётесь в его ключевых концепциях, проблем с освоением форков возникнуть не должно.

Основная особенность React — интерфейс строится из реиспользуемых компонентов (например, вы один раз создали кнопку, описали все её возможные стили и вариации, а потом вставляете её на необходимую страницу и через свойства просто выбираете нужную комбинацию). Также ещё одна ключевая составляющая этого фреймворка — хуки. Они позволяют контролировать состояния элемента, выполнять различные действия при его изменениях и т.д. (useState, useEffect и др.).

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

Стартовый процесс инициализации в принципе уже указан в руководстве по созданию нового React-проекта «с нуля», однако кратко пройдёмся по этому процессу. При создании проекта будем использовать базовый шаблон Vite: React + TS (за это отвечает флаг --template react-ts):

Команды дальше будут приведены для Bash, при необходимости можете адаптировать их у себя под PowerShell.
Terminal
npm create vite@latest room-assets -- --template react-ts
cd room-assets
npm install   # установка всех базовых зависимостей проекта
              # (сгенерирует package-lock.json и node_modules)
Примечание для Windows: при передаче дополнительных флагов через npm create иногда нужен «тройной дефис» для отделения (редкий нюанс CLI). Если у вас ругается --template, попробуйте: npm create vite@latest my-app --- --template react-ts.

Теперь можно запустить dev-сервер при помощи команды:

Terminal
npm run dev

После этого у вас в консоли отобразится базовый адрес, на котором была запущена dev-страница. Если вы не меняли никаких стандартных настроек, тогда откройте страницу по адресу http://localhost:5173/ и увидите базовый экран React.

Все проведённые нами манипуляции — это стандартные шаги из руководства Vite «Getting Started».