Руководство для начинающих
Это руководство проведёт вас через процесс создания простого Hello World приложения в Electron, похожий на electron/electron-quick-start
.
К концу этого урока ваше приложение откроет окно браузера, отображая веб-страницу с информацией о том, какие версии Chromium.js Node и Electron работают.
Требования
Чтобы использовать Electron вы должны установить Node.js. Мы рекомендуем Вам использовать последнюю доступную LTS
версию.
Пожалуйста, установите Node.js с помощью предварительно собранных установщиков для вашей платформы. В противном случае могут возникнуть проблемы совместимости.
Чтобы убедится что Node.js был установлен правильно, напишите следующие команды в терминале:
node -v
npm -v
Команды должны вывести версии Node.js и npm соответственно.
**Note:**Так как Electron встраивает Node.js в двоичный код, выполняемая версия Node.js может отличатся.
Создание приложения
Сборка приложения
Приложения Electron имеют ту же общую структуру, что и другие проекты Node.js. Начните с создания папки и инициализации пакета npm.
- npm
- Yarn
mkdir my-electron-app && cd my-electron-app
npm init
mkdir my-electron-app && cd my-electron-app
yarn init
Команда init
запросит некоторые значения для файла конфигурации. В этом руководстве стоит придерживаться следующего:
- Значение
entry point
должно бытьmain.js
. - Поля
author
иdescription
могут быть любыми, но необходимы для создания пакета.
Ваш package.json
файл должен выглядеть примерно так:
{
"name": "my-electron-app",
"version": "1.0.0",
"description": "Hello World!",
"main": "main.js",
"author": "Jane Doe",
"license": "MIT"
}
Далее установите пакет electron
как devDependencies
.
- npm
- Yarn
npm install --save-dev electron
yarn add --dev electron
Примечание: Если у вас возникли какие-либо проблемы с установкой Electron, пожалуйста, обратитесь к руководству Advanced Installation.
Наконец, чтобы стал возможен запуск приложения, добавьте команду start
в разделе scripts
файла package.json
, как показано далее:
{
"scripts": {
"start": "electron ."
}
}
Эта start
команда откроет ваше приложение в режиме разработчика.
- npm
- Yarn
npm start
yarn start
Примечание: Эта команда запускает приложение из корневой папки. На этом шаге возможна ошибка, которая заключается в том, что не найдено приложение для запуска.
Запуск main process
Входной точкой для любого приложения на Electron является скрипт main
. Этот скрипт управляет основным процессом, который запускается в полной среде Node.js и отвечает за управление рабочего цикла вашего приложения, отображение основного интерфейса, выполнение привилегированных операций и управление процессом визуализации (подробнее об этом позже).
В процессе выполнения, Electron будет искать этот скрипт в основном
поле вашего package.json
конфига, который вы сконфигурировали в процессе формирования кода приложения.
Чтобы инициализировать основной
скрипт, создайте пустой файл с именем main.js
в корневой папке вашего проекта.
Примечание: Если вы снова запустите скрипт
запуска
на этот момент, ваше приложение больше не будет выявлять никаких ошибок! Тем не менее, он не будет делать ничего, потому что мы не добавили код вmain.js
.
Создание веб-страницы
Прежде чем мы сможем создать окно для нашего приложения, нам нужно создать контент, который будет загружен в него. In Electron, each window displays web contents that can be loaded from either a local HTML file or a remote URL.
В этом туториале вы будете создавать первое. Создайте index.html
файл в корневой папке проекта:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<!-- https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP -->
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self'">
<title>Hello World!</title>
</head>
<body>
<h1>Hello World!</h1>
We are using Node.js <span id="node-version"></span>,
Chromium <span id="chrome-version"></span>,
and Electron <span id="electron-version"></span>.
</body>
</html>
Замечание: Посмотрев на этот HTML-документ, можно заметить, что версии не указаны в блоке body. Мы вручную вставим их позже с помощью JavaScript.
Открытие веб-страницы в окне браузера
Now that you have a web page, load it into an application window. To do so, you'll need two Electron modules:
- The
app
module, which controls your application's event lifecycle. - The
BrowserWindow
module, which creates and manages application windows.
Because the main process runs Node.js, you can import these as CommonJS modules at the top of your main.js
file:
const { app, BrowserWindow } = require('electron')
Then, add a createWindow()
function that loads index.html
into a new BrowserWindow
instance.
const createWindow = () => {
const win = new BrowserWindow({
width: 800,
height: 600
})
win.loadFile('index.html')
}
Next, call this createWindow()
function to open your window.
In Electron, browser windows can only be created after the app
module's ready
event is fired. You can wait for this event by using the app.whenReady()
API. Call createWindow()
after whenReady()
resolves its Promise.
app.whenReady().then(() => {
createWindow()
})