В этом руководстве предполагается, что вы знаете, как установить и настроить проект electron-quick-start. Вы можете найти учебник здесь.
В этом руководстве мы рассмотрим несколько модулей Node и Electron для сбора информации о системе пользователя, приложении и экране.
Если мы перейдем к index.html, мы увидим, что мы уже отображали некоторую системную информацию, используя модуль Node 'process' и выводя версии Node, Chrome и Electron. .
<script>document.write(process.versions.node)</script> <script>document.write(process.versions.chrome)</script> <script>document.write(process.versions.electron)</script>
Точно так же мы можем использовать другой модуль Node с именем 'os', который предоставит информацию об операционной системе. Давайте отобразим имя хоста нашего компьютера из файла renderer.js. Во-первых, нам потребуется пакет os и назначим его константе os. Мы распечатаем его в консоли, поэтому давайте напишем console.log, добавим строку 'home dir:' в качестве параметра и вызовем os.hostname () функция.
const os = require(‘os’) console.log('home dir:', os.hostname());
Electron API также предлагает модуль под названием app, который отвечает за управление жизненным циклом приложения. Мы будем отображать значение пути к приложению. Начните с запроса пакета electron и получения модуля remote с помощью деструктурирования с помощью фигурных скобок.
Мы будем использовать удаленныймодуль для вызова модуля приложения (который доступен только в основном процессе) из нашего процесса визуализации. Аналогично отображению имени хоста ОС, мы распечатаем путь к приложению в консоли, запустив console.log, передав 'путь к приложению:' в качестве первого параметра и вызвав remote.app.getAppPath.
const { remote } = require(‘electron’) console.log('app path:' , remote.app.getAppPath());
Модуль Electron screen извлекает информацию о размере экрана, дисплеях, положении курсора и т. д.. Мы будем использовать модуль экрана для сбора информации о доступном экране для работы и открытия нового окна браузера с шириной и высотой рабочей области.
Начните с перехода к index.html и добавления кнопки с идентификатором work-area-size и текстом Создать новое окно.
<button id=”work-area-size”>Create new window</button>
Теперь давайте перейдем к файлу renderer.js и получим ссылку на кнопку, вызвав document.getElementById('work-area-size') и присвоив ее константа workAreaSizeBtn.
const workAreaSizeBtn = document.getElementById('work-area-size')
Теперь давайте создадим прослушиватель событий щелчка по ссылке на эту кнопку. Это можно сделать, вызвав метод addEventListener для workAreaSizeBtn и передав строку 'click' в качестве первого параметра и анонимную функцию с событие в качестве второго параметра.
workAreaSizeBtn.addEventListener('click', function (event) { })
Чтобы получить доступный размер рабочей области, мы снова требуем пакет 'electron' и назначаем его электронной константе.
const electron = require(‘electron’)
Мы не можем просто определить постоянный экран, потому что window.screen является зарезервированным свойством. Теперь, чтобы получить доступную рабочую область, мы вызываем electron.screen.getPrimaryDisplay().workAreaSize внутри прослушивателя событий и получаем ширину и высоту, деструктурируя возвращаемый объект.
const {width, height} = electron.screen.getPrimaryDisplay().workAreaSize
Доступны размеры ширины и высоты рабочей области, поэтому мы можем использовать их для определения ширины и высоты BrowserWindow. Мы создадим новый BrowserWindow, используя удаленный модуль, потому что мы создаем его из процесса рендерера.
Определите новую переменную области блока win и назначьте ей новый экземпляр BrowserWindow, вызвав new remote.BrowserWindow и указав width и height в качестве параметра объекта. Мы будем отображать веб-сайт GitHub в нашем BrowserWindow, поэтому мы вызываем метод win.loadURL и передаем строку https://github.com.
let win = new remote.BrowserWindow({width, height}) win.loadURL(‘https://github.com')