0Pricing
React Academy · Урок

Настройка React с Electron

Настройте Electron с Vite и React, подключите contextBridge для безопасного IPC и запустите приложение в режиме разработки

«Настройка React с Electron» — бесплатный урок React Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения React Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс React Academy содержит 4 уроков всего.

Обзор настройки проекта

Настройка React с Electron начинается с создания проекта React на Vite, после чего в devDependencies добавляются electron и electron-builder. В итоге в проекте появляются две точки входа: приложение Vite для процесса визуализации и файл main.js для главного процесса Electron.

Файл main.js

main.js — это точка входа Electron. Он создаёт BrowserWindow с нужными размерами окна и настройками безопасности, а затем загружает приложение React: во время разработки — по адресу localhost:5173, а в рабочем окружении — из собранного файла.

electron-vite: рекомендуемый набор инструментов

electron-vite — это универсальный инструмент сборки, который объединяет Vite с Electron и автоматически обрабатывает сложную конфигурацию сборки для нескольких процессов. Он предоставляет отдельные конфигурации Vite для главного процесса, скрипта предварительной загрузки и процесса визуализации, значительно упрощая сборки для разработки и рабочего окружения.

Настройка vite.config.js

При настройке Vite для Electron необходимо явно задавать целевые версии браузера, а не полагаться на автоматическое определение, поскольку процесс визуализации работает в конкретной версии Chromium, встроенной в Electron. electron-vite делает это автоматически, но при ручной настройке необходимо указать версию chrome в целевой конфигурации сборки.

Процесс разработки

Запуск electron-vite dev одновременно запускает сервер разработки Vite для процесса визуализации и главный процесс Electron. Сервер разработки Vite предоставляет горячую замену модулей (HMR), поэтому изменения в компонентах React мгновенно появляются в окне Electron без полного перезапуска.

Горячая замена модулей в Electron

HMR работает в процессе визуализации Electron так же, как в браузере: изменённые компоненты мгновенно отображаются, а их состояние сохраняется. Только изменения в main.js или скрипте предварительной загрузки требуют полного перезапуска Electron, поскольку эти файлы работают за пределами области действия HMR Vite.

Конфигурация TypeScript

Проектам Electron + React + TypeScript нужны отдельные файлы конфигурации tsconfig для главного процесса (с целью Node.js/CommonJS), скрипта предварительной загрузки (с целью браузероподобного окружения с глобальными объектами Node) и процесса визуализации (стандартный TypeScript для браузера). electron-vite автоматически создаёт эти конфигурации.

Настройка contextBridge

Скрипт предварительной загрузки использует contextBridge.exposeInMainWorld, чтобы предоставить процессу визуализации ваш пользовательский API. Обычно предоставляется пространство имён вроде "api" с функциями, оборачивающими вызовы ipcRenderer.invoke, благодаря чему компоненты React получают простой асинхронный интерфейс для операций главного процесса.

Доступ к предоставленным API из React

Из любого компонента React вызывайте window.api.myFunction(), чтобы обратиться к предоставленному API скрипта предварительной загрузки. Пользователи TypeScript обычно добавляют глобальное объявление (window: Window & { api: MyAPI }), чтобы получить проверку типов и автодополнение для предоставленного интерфейса.

Сборка для рабочего окружения

electron-vite build компилирует все три целевых компонента (главный процесс, скрипт предварительной загрузки и процесс визуализации) в папку dist/. Затем electron-builder упаковывает их в установщик для конкретной платформы. В рабочем окружении main.js загружает процесс визуализации из собранного файла, а не по URL сервера разработки.

Распространённые ошибки при настройке

Самые частые ошибки при настройке: забыть указать nodeIntegration:false и contextIsolation:true, что создаёт уязвимости; загрузить неправильный URL в main.js, перепутав режим разработки и рабочий режим; напрямую импортировать модули Electron в процессе визуализации, что приводит к сбоям. Значения по умолчанию electron-vite предотвращают большинство этих проблем.

Команда разработки electron-vite

Что даёт запуск electron-vite dev?

Итоги урока

Настройка React с Electron упрощается благодаря electron-vite, который берёт на себя сложность сборки для нескольких процессов. Процесс разработки предоставляет полную поддержку HMR, contextBridge защищает поверхность API процесса визуализации, а отдельные конфигурации TypeScript обеспечивают правильное типовое окружение для каждого процесса. Для сборки рабочего приложения используется electron-builder, создающий пакет для конкретной платформы.

Часто задаваемые вопросы

Урок «Настройка React с Electron» бесплатный?

Да — полный текст урока «Настройка React с Electron» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс React Academy, подпишись на CoddyKit PRO. Курс React Academy содержит 4 уроков всего.

Чему я научусь в уроке «Настройка React с Electron»?

Настройте Electron с Vite и React, подключите contextBridge для безопасного IPC и запустите приложение в режиме разработки Ты практикуешь React Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать React Academy?

Предыдущий опыт не требуется. React Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «Настройка React с Electron»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке React Academy?

Да. Каждый урок React Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Архитектура Electron: основной процесс и процесс визуализации
  2. Настройка React с Electron
  3. Связь между процессами через IPC
  4. Сборка и распространение для настольных платформ
← Назад к React Academy